INF=pow(2,61)-1 N=int(input()) S=input() A=list(map(int,input().split())) dp=[[INF]*(N*2+2) for i in range(N*2+1)] dp[0][0]=0 for i in range(N*2): for j in range(N*2+1): if dp[i][j]>=INF: continue if S[i]=="(": dp[i+1][j+1]=min(dp[i][j],dp[i+1][j+1]) dp[i+1][j-1]=min(dp[i][j]+A[i],dp[i+1][j-1]) else: dp[i+1][j+1]=min(dp[i][j]+A[i],dp[i+1][j+1]) dp[i+1][j-1]=min(dp[i][j],dp[i+1][j-1]) print(dp[-1][0])