N = int(input()) S = "0"+input().strip() A = [0]+list(map(int,input().split())) INFTY = 10**12+100 dp = [[INFTY for _ in range(2*N+1)] for _ in range(2*N+1)] if S[1]=="(": dp[1][1] = 0 else: dp[1][1] = A[1] for i in range(2,2*N+1): for j in range(i+1): if j==0: dp[i][0] = dp[i-1][1] if S[i]=="(": dp[i][0] += A[i] elif j==i: dp[i][i] = dp[i-1][i-1] if S[i]==")": dp[i][i] += A[i] else: if S[i]=="(": dp[i][j] = min(dp[i-1][j-1], dp[i-1][j+1]+A[i]) else: dp[i][j] = min(dp[i-1][j+1], dp[i-1][j-1]+A[i]) print(dp[2*N][0])