#include using namespace std; using ll = long long; int main(){ cin.tie(nullptr); ios_base::sync_with_stdio(false); ll N; string S; cin >> N >> S; N *= 2; S = "*"+S; vector A(N+1); for (int i=1; i<=N; i++) cin >> A[i]; vector dp(N+1, vector(N+1, 1e18)); dp[0][0] = 0; for (int i=1; i<=N; i++){ for (int j=0; j<=N; j++){ if (S[i] == '('){ if (j+1<=N) dp[i][j+1] = min(dp[i][j+1], dp[i-1][j]); if (j-1>=0) dp[i][j-1] = min(dp[i][j-1], dp[i-1][j]+A[i]); } else{ if (j-1>=0) dp[i][j-1] = min(dp[i][j-1], dp[i-1][j]); if (j+1<=N) dp[i][j+1] = min(dp[i][j+1], dp[i-1][j]+A[i]); } } } cout << dp[N][0] << endl; return 0; }