#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("pharm.in");
int dl[]={-1,0,1,0},dc[]={0,1,0,-1};
char a[401][401],sc;
int type,n,m,vmax,nrp,ceL,ceC,cl,cc;
struct vect{int nr; bool ok;} v[401*401];
int b[401][401];
struct coada{short int l,c;} co[401*401];
void lee(int l,int c,int parte)
{
    int inc=1,sf=1,i;
    co[1].l=l; co[1].c=c;
    b[l][c]=parte;
    while(inc<=sf)
    {
        l=co[inc].l; c=co[inc].c;
        for(i=0;i<=3;i++)
        {
            cl=l+dl[i]; cc=c+dc[i];
            if((cl>=0 && cl<n && cc>=0 && cc<m) && a[l][c]==a[cl][cc] && b[cl][cc]==0)
            {
                b[cl][cc]=parte;
                co[++sf].l=cl; co[sf].c=cc;
            }
        }
        inc++;
    }
    v[parte].nr=sf;
    if(sf>vmax) vmax=sf;
}
void task1()
{
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            if(b[i][j]==0)
                lee(i,j,++nrp);
    cout<<vmax<<'\n';
}
void task2()
{
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            if(b[i][j]==0)
                lee(i,j,++nrp);
    int sum[30];
    for(int i=0;i<30;i++) sum[i]=0;
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
        {
            for(int y=0;y<=3;y++)
            {
                cl=i+dl[y];  cc=j+dc[y];
                if(cl>=0 && cl<n && cc>=0 && cc<m && b[i][j]!=b[cl][cc] && v[b[cl][cc]].ok==0)
                    sum[a[cl][cc]-'a']+=v[b[cl][cc]].nr,v[b[cl][cc]].ok=1;
            }
            for(int y=0;y<=3;y++)
            {
                cl=i+dl[y];  cc=j+dc[y];
                if(cl>=0 && cl<n && cc>=0 && cc<m && sum[a[cl][cc]-'a']!=0)
                {
                    if(sum[a[cl][cc]-'a']+1>vmax) vmax=sum[a[cl][cc]-'a']+1,ceL=i,ceC=j,sc=a[cl][cc];
                    else
                        if(sum[a[cl][cc]-'a']+1==vmax && (ceL>i || (ceL==i && ceC>j))) ceL=i,ceC=j,sc=a[cl][cc];
                    sum[a[cl][cc]-'a']=0; v[b[cl][cc]].ok=0;
                }
            }
        }
    cout<<ceL+1<<' '<<ceC+1<<'\n'<<sc;
}
int main()
{
    cin>>type;
    cin>>n>>m;
    cin.get();
    for(int i=0;i<n;i++)
        cin.getline(a[i],401);
    if(type==1)
        task1();
    else
        task2();
    return 0;
}