#include <cstdio>
#include <algorithm>

using namespace std;

const int N = 2010;
int n, m, a[N][N], b[N][N], c[N][N], sol, s[N], l[N], r[N];
char z[N];

int main()
{
	scanf("%d %d", &n, &m); sol = max(n, m);
	for (int i = 1; i <= n; i++)
	{
		scanf("%s", z + 1);
		for (int j = 1; j <= m; j++) if (z[j] == '#') a[i][j] = 1;
	}
	for (int i = 1; i < n; i++)
		for (int j = 1; j < m; j++)
		{
			int k = a[i][j] + a[i][j + 1] + a[i + 1][j] + a[i + 1][j + 1];
			if (k & 1) c[i][j] = 1;
		}
	for (int i = 1; i < n; i++)
	{
		for (int j = 1; j < m; j++) if (!c[i][j]) b[i][j] = b[i - 1][j] + 1;
		int sz = 0;
		for (int j = 1; j < m; j++)
		{
			while (sz && b[i][j] <= b[i][s[sz]]) sz--;
			if (!sz) l[j] = 1; else l[j] = s[sz] + 1;
			s[++sz] = j;
		}
		sz = 0;
		for (int j = m - 1; j; j--)
		{
			while (sz && b[i][j] <= b[i][s[sz]]) sz--;
			if (!sz) r[j] = m - 1; else r[j] = s[sz] - 1;
			s[++sz] = j;
		}
		for (int j = 1; j < m; j++) if (b[i][j]) sol = max(sol, (b[i][j] + 1) * (r[j] - l[j] + 2));
	}
	printf("%d", sol);
	return 0;
}