#include<iostream> #include<cstdio> using namespace std; inline long long read(){ long long x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f; } int n,m,a[1001][1001],q[1001],l[1001],r[1001],t,w,ans; void doit(int h[]){ t=0;w=0;q[0]=0; //memset(l,0,sizeof(l)); //memset(r,0,sizeof(r)); for(int i=1;i<=m;i++){ while(t<=w&&h[i]<=h[q[w]])w--; l[i]=i-q[w]-1; q[++w]=i; } t=0;w=0;q[0]=m+1; for(int i=m;i>=1;i--){ while(t<=w&&h[i]<=h[q[w]])w--; r[i]=q[w]-i-1; q[++w]=i; } for(int i=1;i<=m;i++) ans=max(ans,(l[i]+r[i]+1)*h[i]); } int main(){ n=read();m=read(); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++){ char ch[1];scanf("%s",ch); if(ch[0]=='F')a[i][j]=a[i-1][j]+1; } for(int i=n;i>=1;i--)doit(a[i]); printf("%d",3*ans); return 0; }