#include #define forn for(int k = 0; k < 4; k++) { int nx = x + d[k], ny = y + d[(k+2)&3]; \ if(nx < 0 || nx < 0 || !v[nx][ny]) continue; const int d[4] = {-1, 1, 0, 0}; char v[405][405], bestc, bak; int us[405][405], filln = 1, t, m, n, x, y, best, bestx, besty, cur; int fill(int x, int y){ int ans = 1; us[x][y] = filln; forn if(v[nx][ny] == v[x][y] && us[nx][ny] < filln) ans += fill(nx, ny); } return ans; } int main(void){ scanf("%d%d%d ", &t, &m, &n); for(x = 0; x < m; x++) scanf("%s ", v+x); for(x = 0; x < m; x++) for(y = 0; y < n; y++){ bak = v[x][y]; forn if(t == 2) v[x][y] = v[nx][ny]; filln += t == 2 && (v[x][y] != bak || !k); cur = fill(x, y); if(cur > best) best = cur, bestx = x, besty = y, bestc = v[x][y]; } v[x][y] = bak; } if(t == 1) printf("%d\n", best); else printf("%d %d\n%c\n", bestx + 1, besty + 1, bestc); return 0; }