#include<bits/stdc++.h>
using namespace std;
#define N 2333

int n,m,a[N],ans;
char s[N][N];
stack<int> q;

int read(){
	int x=0,f=1;char ch=getchar();
	for (;!isdigit(ch);ch=getchar()) if (ch=='-')  f=-f;
	for (;isdigit(ch);ch=getchar()) x=x*10+ch-'0';
	return x*f;
}

int main(){
	n=read();m=read();ans=max(n,m);
	for (int i=1;i<=n;i++) scanf(" %s",s[i]+1);
	for (int i=1;i<=n;i++){
		for (int j=1;j<m;j++)
			if ((s[i-1][j]^s[i-1][j+1]^s[i][j]^s[i][j+1])==0) a[j]++;else a[j]=1;
		while (!q.empty()) q.pop();
		q.push(0);a[0]=-1;
		for (int j=1;j<=m;q.push(j++))
			while (a[q.top()]>=a[j]){
				int x=q.top();q.pop();
				ans=max(ans,(j-q.top())*a[x]);
			}
	}
	printf("%d\n",ans);
	return 0;
}