#include<stdio.h>
int b[401][401],c1[401][401],d[401][401],verif[401][401];
char a[401][401];
int linie[4]={-1,0,1,0};
int coloana[4]={0,1,0,-1};
int cate,x=1;
int feel( int l , int c, char val ){
int i,lin,col;
b[l][c]=-1;
for(i=0;i<4;i++){
lin=l+linie[i];
col=c+coloana[i];
if(a[lin][col]==val&&b[lin][col]!=-1){
cate++;
feel(lin,col,val);
}
}
return cate;
}
void fill ( int l , int c , int val , char eg ){
int i,lin,col;
c1[l][c]=val;
d[l][c]=-1;verif[l][c]=x;
for(i=0;i<4;i++){
lin=l+linie[i];
col=c+coloana[i];
if(a[lin][col]==eg&&d[lin][col]!=-1){
fill(lin,col,val,eg);
}
}
}
int main(){
int i,j,r,max,cer,n,m,lin,col,dd;
char c,cul;
freopen("ferma3.in","r",stdin);
freopen("ferma3.out","w",stdout);
scanf("%d",&cer);
scanf("%d%d%c",&n,&m,&c);
for(i=1;i<=n;i++){
for(j=1;j<=m;j++)
scanf("%c",&a[i][j]);
scanf("%c",&c);
}
max=-1;
if(cer==1){
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(b[i][j]==0){
cate=1;
r=feel(i,j,a[i][j]);
if(r>max)
max=r;
}
printf("%d\n",max);
}
else{
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(b[i][j]==0){
cate=1;
r=feel(i,j,a[i][j]);
fill(i,j,r,a[i][j]);
x++;
}
max=-1;dd=1;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(a[i][j-1]==a[i][j+1]&&a[i][j]!=a[i][j-1]&&j-1>=1&&j+1<=m&&verif[i][j-1]!=verif[i][j+1]){
r=c1[i][j-1]+c1[i][j+1];
if(r>max){
max=r+1;
lin=i;
col=j;
cul=a[i][j-1];
}
}
else{
if(a[i][j-1]==a[i][j+1]&&a[i][j]!=a[i][j-1]&&j-1>=1&&j+1<=m&&verif[i][j-1]==verif[i][j+1]){
dd=2;
max=c1[i][j-1];
lin=i;
col=j;
cul=a[i][j-1];
}
}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(a[i-1][j]==a[i+1][j]&&a[i][j]!=a[i-1][j]&&i-1>=1&&i+1<=n&&verif[i-1][j]!=verif[i+1][j]){
r=c1[i-1][j]+c1[i+1][j];
if(r>max){
max=r+1;
lin=i;
col=j;
cul=a[i+1][j];
}
}
else{
if(a[i-1][j]==a[i+1][j]&&a[i][j]!=a[i-1][j]&&i-1>=1&&i+1<=n&&verif[i-1][j]==verif[i+1][j]){
dd=2;
max=c1[i-1][j];
lin=i;
col=j;
cul=a[i-1][j];
}
}
if(dd==1)
printf("%d\n%d %d\n%c\n",max,lin,col,cul);
else
printf("%d\n%d %d\n%c\n",max+1,lin,col,cul);
}
return 0;
}