#include<bits/stdc++.h>
using namespace std;
#define int long long
int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};
string l[500];
string c=".abcdefghijklmnopqrstuvwxyz";
signed main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int t,n,m,s=0;cin>>t;
int a[27]={0},b[27]={0};//a紀錄順序 b紀錄每個字母出現次數
queue<int>q;
for(int w=1;w<=t;w++){
cin>>n>>m;
for(int i=0;i<n;i++)cin>>l[i];
cout<<"World #"<<w<<"\n";
bool v[500][500]={false};
for(int i=0;i<n;i++)for(int j=0;j<m;j++)if(!v[i][j]){
//cout<<i<<","<<j<<"wow\n";
v[i][j]=true;
int r=l[i][j]-'a'+1;//1~26
if(b[r]==0)a[s]=r,s++;
b[r]++;
q.push(i*m+j);
while(q.size()>0){
//cout<<"waw\n";
int x=q.front()/m,y=q.front()%m;q.pop();
v[x][y]=true;
for(int d=0;d<4;d++)if(x+dx[d]>=0)if(x+dx[d]<n)if(y+dy[d]>=0)if(y+dy[d]<m)if(!v[x+dx[d]][y+dy[d]])if(c[r]==l[x+dx[d]][y+dy[d]])
q.push((x+dx[d])*m+y+dy[d]),v[x+dx[d]][y+dy[d]]=true;
}
}
for(int i=0;i<s;i++)cout<<c[a[i]]<<": "<<b[a[i]]<<"\n",b[a[i]]=0,a[i]=0;
s=0;
}
}
再不看清楚題目阿笑死