MOD = 1000000007 N = int(input()) A = list(map(int, input().split())) S = input() dp = [ 0 ] * N dpsum = [ 0 ] * 26 dpallsum = 0 for i in range(0, N): ch = ord(S[i]) - ord('a') dp[i] = ((1 + (dpallsum - dpsum[ch])) * A[i]) % MOD dpsum[ch] += dp[i] dpallsum += dp[i] print(sum(dp) % MOD)