#define rep(i,n) for(int i=0;i<(int)(n);i++) #define ALL(v) v.begin(),v.end() typedef long long ll; #include <atcoder/all> #include <bits/stdc++.h> using namespace std; using namespace atcoder; using mint=modint1000000007; int main(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); int n; cin>>n; vector<ll> A(n); rep(i,n) cin>>A[i]; string s; cin>>s; mint ans=1; map<char,mint> dp; map<ll,mint> dp1; rep(i,n){ mint tmp=ans; ans+=A[i]*(ans-dp1[s[i]]*dp[s[i]]); dp[s[i]]=tmp; dp1[s[i]]=A[i]; } ans-=1; cout<<ans.val()<<endl; return 0; }