#include using namespace std; #define FOR(a,b,c) for(int a = b; a < c; a++) int res = 0; int n , m; const int N = 1e3 + 7; string tab[N]; int pre[N][N]; void liczWyn() { FOR(i,0,n) { int j = m - 2; pre[i][m - 1] = 1; while(j >= 0) { if(tab[i][j] == tab[i][j + 1])pre[i][j] = 1 + pre[i][j + 1]; else pre[i][j] = 1; j--; } } FOR(j,0,m) { int g = 0; FOR(i,0,n) { while(g < n && tab[i][j] == tab[g + 1][j] and pre[g + 1][j] >= (g - i + 2) )g++; //cout << j << " " << i << " " << g << endl; res += g - i; } } } int main() { //ios_base::sync_with_stdio(0); //cout << "LICZ KURWO" << endl; cin >> n >> m; FOR(i,0,n)cin >> tab[i]; //cout << "JAZDA\n"; liczWyn(); FOR(i,0,n)reverse(tab[i].begin(),tab[i].end()); liczWyn(); FOR(i,0,n)reverse(tab[i].begin(),tab[i].end()); reverse(tab,tab + n); //cout << "JAZDA2\n"; liczWyn(); FOR(i,0,n)reverse(tab[i].begin(),tab[i].end()); liczWyn(); cout << res; return 0; }