#include using namespace std; #define test int t;scanf("%d", &t);while(t--) #define sd(n) scanf("%d", &n) #define loop(i, n) for(int i = 0;i=0;i--) #define rkloop(i, n, k) for(int i = n;i>=k;i--) #define MOD 1000000007 #define PI 3.1415926535897932384626433832795 #define interactive(x) cout<>1); return (long long)res*res%MOD; } } void init(){ fact[0] = 1; for(int i=1;i0;i--){ invfact[i-1] = (long long)invfact[i]*i%MOD; } } int C(int n, int r){ if(r>n || r<0) return 0; return (long long)((long long)fact[n]*invfact[r]%MOD)*invfact[n-r]%MOD; } int gcd(int a, int b){ while(a && b){ if(a>b) a%=b; else b%=a; } return a+b; } ll lcm(int a, int b){ ll A = (ll)a; ll B = (ll)b; return (A/gcd(a, b) * B); }*/ int arr[26]; string s; void solve(){ loop(i, 26)sd(arr[i]); cin>>s; int ans = 1; loop(i, s.length())ans=max(ans, arr[s[i]-'a']); cout<