#include<iostream>
#include<limits.h>
#include<string>
#include<cstring>
#define maxn 103
using namespace std;
int _map[maxn][maxn],v[maxn][maxn],d[4][2]={{0,1},{1,0},{0,-1},{-1,0}};
int _case,r,c,ans=INT_MIN;
string name;
int dfs(int x,int y){
if(v[x][y]){
return v[x][y];
}
v[x][y]=1;
for(int i=0;i<4;i++){
int nx=x+d[i][0],ny=y+d[i][1];
if(nx>=0&&nx<r&&ny>=0&&ny<c&&_map[x][y]>_map[nx][ny]){
dfs(nx,ny);
v[x][y]=max(v[x][y],v[nx][ny]+1);
}
}
return v[x][y];
}
int main(){
freopen("in.txt","r",stdin);
ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);
cin>>_case;
while(_case--){
ans=INT_MIN;
memset(_map,0,sizeof(_map));
memset(v,0,sizeof(v));
cin>>name>>r>>c;
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
cin>>_map[i][j];
}
}
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
ans=max(ans,dfs(i,j));
}
}
cout<<name<<": "<<ans<<endl;
}
return 0;
}