#include<iostream> using namespace std; int i,j,n,m,marime[100000],a[405][405],tip,zona[405][405],nrz; void dfs(int i, int j) { if (i==0||j==0||i>n||j>m) return; zona[i][j]==nrz; ++marime[nrz]; if (a[i-1][j]==a[i][j]&&zona[i-1][j]==0) dfs(i-1,j); if (a[i][j-1]==a[i][j]&&zona[i][j-1]==0) dfs(i,j-1); if (a[i+1][j]==a[i][j]&&zona[i+1][j]==0) dfs(i+1,j); if (a[i][j+1]==a[i][j]&&zona[i][j+1]==0) dfs(i,j+1); } int main(void) { cin>>tip; cin>>n>>m; for (i=1; i<=n; ++i) for (j=1; j<=m; ++j) cin>>a[i][j]; for (i=1; i<=n; ++i) for (j=1; j<=m; ++j) if (zona[i][j]==0) { ++nrz; dfs(i,j); } if (tip==1) { int sol=0; for (i=1; i<=nrz; ++i) sol=max(sol,marime[i]); cout<<sol; } else { int sol=0, x1, y1, col; for (i=1; i<=n; ++i) for (j=1; j<=m; ++j) { int v1=marime[zona[i-1][j]], v2=marime[zona[i][j-1]], v3=marime[zona[i+1][j]], v4=marime[zona[i][j+1]]; if (a[i-1][j]==a[i][j-1]&&zona[i-1][j]!=zona[i][j-1]) v1+=v2; if (a[i-1][j]==a[i+1][j]&&zona[i+1][j]!=zona[i-1][j]) v1+=v3; if (a[i][j+1]==a[i-1][j]&&zona[i][j+1]!=zona[i-1][j]) v1+=v4; if (a[i][j-1]==a[i-1][j]&&zona[i][j-1]!=zona[i-1][j]) v2+=v1; if (a[i][j-1]==a[i+1][j]&&zona[i+1][j]!=zona[i][j-1]) v2+=v3; if (a[i][j+1]==a[i][j-1]&&zona[i][j+1]!=zona[i][j-1]) v2+=v4; if (a[i+1][j]==a[i-1][j]&&zona[i+1][j]!=zona[i-1][j]) v3+=v1; if (a[i][j-1]==a[i+1][j]&&zona[i+1][j]!=zona[i][j-1]) v3+=v2; if (a[i][j+1]==a[i+1][j]&&zona[i][j+1]!=zona[i+1][j]) v3+=v4; if (a[i][j+1]==a[i-1][j]&&zona[i][j+1]!=zona[i-1][j]) v4+=v1; if (a[i][j-1]==a[i][j+1]&&zona[i][j+1]!=zona[i][j-1]) v4+=v2; if (a[i][j+1]==a[i+1][j]&&zona[i][j+1]!=zona[i+1][j]) v4+=v3; int sol1=max(max(v1,v2),max(v3,v4)); if (sol1>sol) { sol=sol1; x1=i; y1=j; if (sol1==v1) col=a[i-1][j]; else if (sol1==v2) col=a[i][j-1]; else if (sol1==v3) col=a[i+1][j]; else col=a[i][j+1]; } } cout<<x1<<" "<<y1<<"\n"<<char(col); } return 0; }