#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define dbg(x) (cout<<#x<<" = "<<(x)<<'\n') #ifdef HOME const string inputFile = "input.txt"; const string outputFile = "output.txt"; #else const string problemName = ""; const string inputFile = problemName + ".in"; const string outputFile = problemName + ".out"; #endif typedef long long int lld; typedef pair PII; typedef pair PIL; typedef pair PLI; typedef pair PLL; const int INF = (1LL << 31) - 1; const lld LINF = (1LL << 62) - 1; const int dx[] = {1, 0, -1, 0, 1, -1, 1, -1}; const int dy[] = {0, 1, 0, -1, 1, -1, -1, 1}; const int MOD = (int)(1e9) + 7; const int NMAX = 100000 + 5; const int MMAX = 100000 + 5; const int KMAX = 100000 + 5; const int PMAX = 100000 + 5; const int LMAX = 100000 + 5; const int VMAX = 100000 + 5; int type, N, M, sol; deque Q; char A[500][500]; int col[500][500], colour; int blabla[500500]; int solx, soly; char solk; void fill(int x, int y) { col[x][y] = ++colour; Q.push_back(make_pair(x, y)); int ans = 1; while(!Q.empty()) { x = Q.front().first; y = Q.front().second; Q.pop_front(); for(int i = 0; i < 4; i++) { int a = x + dx[i]; int b = y + dy[i]; if(!col[a][b] && A[a][b] == A[x][y]) { col[a][b] = colour; Q.push_back(make_pair(a, b)); ans++; } } } blabla[colour] = ans; } int main() { int i, j, a, b, l; char k; #ifdef HOME freopen(inputFile.c_str(), "r", stdin); freopen(outputFile.c_str(), "w", stdout); #endif scanf("%d", &type); scanf("%d%d", &N, &M); for(i = 1; i <= N; i++) scanf("%s", A[i] + 1); for(i = 1; i <= N; i++) for(j = 1; j <= M; j++) if(!col[i][j]) fill(i, j); if(type == 1) { for(i = 1; i <= colour; i++) sol = max(sol, blabla[i]); printf("%d\n", sol); } else { for(i = 1; i <= N; i++) for(j = 1; j <= M; j++) { for(k = 'a'; k <= 'z'; k++) { set S; int total = (k != A[i][j]); for(l = 0; l < 4; l++) { a = i + dx[l]; b = j + dy[l]; if(A[a][b] == k) { if(!S.count(col[a][b])) { S.insert(col[a][b]); total += blabla[col[a][b]]; } } } if(sol < total) { solx = i; soly = j; solk = k; sol = total; } } } printf("%d %d\n%c\n", solx, soly, solk); } return 0; }