#include #include #include #include #include #include #include #include #include #define INF 99999999 using namespace std; const int MAX=500000+10; char s[MAX*2]; int p[MAX*2],sum[MAX],val[27]; int per[MAX],pos[MAX]; int main(){ int n; cin>>n; while(n--){ for(int i=0;i<26;++i)scanf("%d",&val[i]); scanf("%s",s); int len=strlen(s),id=0,ans=-INF,temp=0; for(int i=1;i<=len;++i)sum[i]=sum[i-1]+val[s[i-1]-'a']; for(int i=len;i>=0;--i){ s[i+i+2]=s[i]; s[i+i+1]='#'; } s[0]='*'; for(int i=2;ii)p[i]=min(p[2*id-i],p[id]+id-i); else p[i]=1; while(s[i-p[i]] == s[i+p[i]])++p[i]; if(id+p[id]ans)ans=temp; temp=0; } cout<