#include #define forn for(int k = 0; k < 4; k++) { int nx = x + d[k], ny = y + d[(k+2)%4]; \ if(nx < 0 || nx < 0 || !v[nx][ny]) continue; const int d[4] = {-1, 1, 0, 0}; char v[405][405]; int us[405][405], filln = 1; 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){ int t, m, n; scanf("%d%d%d ", &t, &m, &n); for(int i = 0; i < m; i++) scanf("%s ", v+i); int best = 0, bestx, besty; char bestc; for(int x = 0; x < m; x++) for(int y = 0; y < n; y++){ char bak = v[x][y]; forn if(t == 2) v[x][y] = v[nx][ny]; filln += t == 2 && (v[x][y] != bak || !k); int 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; }