#include #define forn for(int k = 0; k < 4; k++) { int nx = x + d[k][0], ny = y + d[k][1]; const int d[4][2] = { {-1, 0}, { 1, 0}, { 0, -1}, { 0, +1} }; 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(nx >= 0 && ny >= 0 && 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 && nx >= 0 && ny >= 0 && v[nx][ny]) 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; }