#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n,m;
const int N=200010;
char s[N],p[N];
int g[N][30];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
memset(g,0,sizeof(g));
scanf("%d%d",&n,&m);
scanf("%s",s);
for(int i=0;i<m;i++)
scanf("%d",&p[i]);
for(int i=0;i<26;i++)
g[0][i]=0;
g[0][s[0]-'a']=1;
for(int i=1;i<n;i++){
for(int j=0;j<26;j++){
g[i][j]=g[i-1][j];
}
g[i][s[i]-'a']+=1;
}
int ed[26]={0};
for(int i=0;i<m;i++)
for(int j=0;j<26;j++)
ed[j]+=g[p[i]-1][j];
for(int i=0;i<26;i++)
ed[i]+=g[n-1][i];
for(int i=0;i<26;i++)
printf("%d ",ed[i]);
}
}
#include <cstdio>
#include <algorithm>
using namespace std;
#define N 10005
int cas; int n; int m; int a[N];
int p[N];
bool check(){
for(int i=2;i<=n;++i){
if(a[i]<a[i-1]) return false;
}
return true;
}
int main(){
scanf("%d",&cas);
while(cas--){
scanf("%d %d",&n,&m);
for(int i=1;i<=n;++i) scanf("%d",a+i);
for(int i=1;i<=m;++i) scanf("%d",p+i);
sort(p+1,p+1+m);
for(int k=1;k<=1000;++k){
for(int i=m;i>=1;--i){
if(p[i]>=n) continue;
if(a[p[i]]>a[p[i]+1]) swap(a[p[i]],a[p[i]+1]);
}
}
if(check()) printf("YES\n");
else printf("NO\n");
}
return 0;
}