#include <bits/stdc++.h> #include <atcoder/modint> using namespace std; using Mint = atcoder::modint1000000007; int main() { int N; cin >> N; vector<int> A(N); for (int &a : A) cin >> a; string s; cin >> s; vector<Mint> lst(26); Mint pre = 1; for (int i = 0; i < N; i++) { Mint pp = pre; Mint ref = lst[s[i] - 'a']; pre = (A[i] + 1) * pp - A[i] * ref; lst[s[i] - 'a'] = A[i] * pp - (A[i] - 1) * ref; } cout << (pre - 1).val() << endl; }