#include using namespace std; int i,j,n,m,marime[100000],a[405][405],tip,zona[405][405],nrz; void dfs(int i, int j) { bool ok=1; if (i==0||j==0||i>n||j>m) ok=0; if (ok) { 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){ char ch; cin>>ch; a[i][j]=int(ch); } 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) { 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<