#include <iostream>
#include <cstdio>
usingnamespacestd;#define MAXN 100
intT,Q,sol;charMAP[MAXN][MAXN+1];#define INBOUND(i, length) (i + length - 1 < MAXN)
int_maxlen;voidsolve(){for(inti=0;i<MAXN;++i){for(intj=0;j<MAXN;++j){for(intlen=2;len<=100-j;len++){// 가로로 len 길이만큼 탐색, 팰린드롬이 아닐 경우 즉시 탈출if(!INBOUND(j,len))break;/*bool flag = false;*/for(intk=0;k<len/2;k++){//printf("가로 : [%d, %d] [%d, %d]\n", i, j + k, i, j + len - k - 1);if(MAP[i][j+k]!=MAP[i][j+len-k-1]){//flag = true;break;}if(k==len/2-1){_maxlen=len>_maxlen?len:_maxlen;}}//if (flag) break; }}}for(inti=0;i<MAXN;++i){for(intj=0;j<MAXN;++j){for(intlen=2;len<=100-j;len++){// 세로로 len 길이만큼 탐색, 팰린드롬이 아닐 경우 즉시 탈출if(!INBOUND(j,len))break;//bool flag = false;for(intk=0;k<len/2;k++){//printf("가로 : [%d, %d] [%d, %d]\n", j + k, i, j + len - k -1, i);if(MAP[j+k][i]!=MAP[j+len-k-1][i]){//flag = true;break;}if(k==len/2-1){_maxlen=len>_maxlen?len:_maxlen;}}//if (flag) break;}}}}intmain(){T=10;for(inti=1;i<=10;++i){cin>>Q;for(inti=0;i<MAXN;++i){cin>>MAP[i];}_maxlen=1;solve();printf("#%d %d\n",i,_maxlen);}}