#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
string ren;
int n,m,t;
int a[110][110],dp[110][110];
int d[4][2]={-1,0,0,1,1,0,0,-1};
int DP(int x,int y,int l){
if(dp[x][y]!=-1) return dp[x][y];
int ret=1;
for(int i=0;i<4;i++){
int xx=x+d[i][0];
int yy=y+d[i][1];
if(xx<0||yy<0||xx>=n||yy>=m) continue;
if(a[xx][yy]<a[x][y]) ret=max(ret,DP(xx,yy,1)+1);
}
return dp[x][y]=ret;
}
int main(){
//freopen("10285","r",stdin);
cin>>t;
for(int ca=1;ca<=t;ca++){
cin>>ren>>n>>m;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>a[i][j];
}
}
memset(dp,-1,sizeof dp);
int ans=0;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
ans=max(ans,DP(i,j,1));
}
}
printf("%s: %d\n",ren.c_str(),ans);
}
return 0;
}