#include <stdio.h>
#include <stdlib.h>
char a[402][402];
int rez[402][402],suma,nrord,cod[402][402];
int dl[4]={-1,0,+1,0};
int dc[4]={0,+1,0,-1};
int aux[4],auxrez[4],n,m;
char auxc[4],caux;
void fill(int l,int c){
suma++;
rez[l][c]=-1;
if(l>1 && rez[l-1][c]==0 && a[l-1][c]==caux)
fill(l-1,c);
if(l<=n-1 && rez[l+1][c]==0 && a[l+1][c]==caux)
fill(l+1,c);
if(c>1 && rez[l][c-1]==0 && a[l][c-1]==caux)
fill(l,c-1);
if(c<=m-1 && rez[l][c+1]==0 && a[l][c+1]==caux)
fill(l,c+1);
cod[l][c]=nrord;
}
void fill2(int l,int c){
rez[l][c]=suma;
if(l>1 && rez[l-1][c]==-1 && a[l-1][c]==caux)
fill2(l-1,c);
if(l<=n-1 && rez[l+1][c]==-1 && a[l+1][c]==caux)
fill2(l+1,c);
if(c>1 && rez[l][c-1]==-1 && a[l][c-1]==caux)
fill2(l,c-1);
if(c<=m-1 && rez[l][c+1]==-1 && a[l][c+1]==caux)
fill2(l,c+1);
}
int main()
{
int v,l,c,i,j,max,maxrez,rezl,rezc,ct,k,ii,jj,kk;
char crez;
freopen("ferma1.in","r",stdin);
freopen("ferma1.out","w",stdout);
scanf("%d%d%d",&v,&l,&c);
n=l;
m=c;
getchar();
for(i=1; i<=l; i++){
for(j=1; j<=c; j++)
a[i][j]=getchar();
getchar();
}
max=0;
nrord=0;
for(i=1; i<=l; i++)
for(j=1; j<=c; j++)
{
suma=0;
if(i==35 && j==13)
ct=0;
if(rez[i][j]==0){ nrord++; caux=a[i][j]; fill(i,j);
fill2(i,j);}
if(suma>max) max=suma;
}
if(v==1)
printf("%d\n",max);
maxrez=0;
rezl=0;
rezc=0;
for(i=1; i<=l; i++)
for(j=1; j<=c; j++){
ct=0;
if(i==34 && j==16)
ct=0;
for(k=0; k<4; k++){
ii=i+dl[k];
jj=j+dc[k];
for(kk=0; kk<ct && aux[kk]!=cod[ii][jj]; kk++);
if(kk==ct){aux[ct]=cod[ii][jj]; auxrez[ct]=rez[ii][jj]; auxc[ct]=a[ii][jj]; ct++;}
}
for(k=0; k<4; k++){
ii=i+dl[k];
jj=j+dc[k];
if(a[ii][jj]!=0 && a[ii][jj]!=a[i][j]){
suma=0;
for(kk=0; kk<ct; kk++)
suma+=auxrez[kk]*(auxc[kk]==a[ii][jj]);
if(maxrez<suma+1)
maxrez=suma+1,crez=a[ii][jj],rezl=i,rezc=j;
}
}
}
if(v==2)
printf("%d %d\n%c\n",rezl,rezc,crez);
return 0;
}