#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,v[401*401];
struct mat{int viz; bool viz2;} 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].viz=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].viz==0)
            {
                b[cl][cc].viz=parte;
                co[++sf].l=cl; co[sf].c=cc;
            }
        }
        inc++;
    }
    v[parte]=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].viz==0)
                lee(i,j,++nrp);
    cout<<vmax<<'\n';
}
void fill(int l,int c)
{
    b[l][c].viz2=true;
    for(int i=0;i<=3;i++)
    {
        cl=l+dl[i]; cc=c+dc[i];
        if(cl+dl[i]>=0 && cl+dl[i]<n && cc+dc[i]>=0 && cc+dc[i]<m)
            if(a[cl][cc]!=a[l][c])
            {
                cl=cl+dl[i]; cc=cc+dc[i];
                if(a[cl][cc]==a[l][c])
                {
                    if(v[b[l][c].viz]+v[b[cl][cc].viz]>vmax)
                        vmax=v[b[l][c].viz]+v[b[cl][cc].viz],ceL=l+dl[i],ceC=c+dc[i],sc=a[l][c];
                }
            }
        if((cl>=0 && cl<n && cc>=0 && cc<m) && a[l][c]==a[cl][cc] && b[cl][cc].viz2==false)
            fill(cl,cc);
    }
    b[l][c].viz2=false;
}
void task2()
{
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            if(b[i][j].viz==0)
                lee(i,j,++nrp);
    int k=1;
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            if(b[i][j].viz==k)
            {
                fill(i,j);
                k++;
            }
    cout<<ceL<<' '<<ceC<<'\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;
}