#include
#include
#include
using namespace std;
typedef long long ll;
const int maxn = 5000;
vector graph[maxn];
int main() {
int n, m;
cin >> n >> m;
char c[n][m];
int mat[n][m];
int idx = 0;
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
cin >> c[i][j];
mat[i][j] = idx;
idx++;
}
}
int di[] = {-1, 1, 0, 0};
int dj[] = {0, 0, -1, 1};
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
for(int k = 0; k < 4; k++) {
int ti = i + di[k];
int tj = j + dj[k];
if(ti >= 0 and ti < n and tj >= 0 and tj < m and c[i][j] == c[ti][tj]) {
graph[mat[i][j]].push_back(mat[ti][tj]);
graph[mat[ti][tj]].push_back(mat[i][j]);
}
}
}
}
return 0;
}