#include<stdio.h>
#include<stack>
#include<algorithm>
using namespace std;
int t[1000][1000];
int table[1000][1000];
int L[1000][1000];
int R[1000][1000];
char y[1000];
int main(){
	int b,c;
	
	while(scanf("%d%d",&b,&c),b){
		for(int i=0;i<b;i++){
			scanf("%s",y);
			for(int j=0;j<c;j++){
				if(y[j]=='.')t[i][j]=1;
				else t[i][j]=0;
			}
		}
		for(int i=0;i<c;i++){
			int now=0;
			for(int j=0;j<b;j++){
				if(t[j][i])now++;
				else now=0;
				table[j][i]=now;
			}
		}
		for(int i=0;i<b;i++){
			stack<int> S;
			for(int j=0;j<c;j++){
				while(S.size()&&table[i][S.top()]>=table[i][j])S.pop();
				if(S.size()==0)L[i][j]=0;
				else L[i][j]=S.top()+1;
				S.push(j);
			}
			while(S.size())S.pop();
			for(int j=c-1;j>=0;j--){
				while(S.size()&&table[i][S.top()]>=table[i][j])S.pop();
				if(S.size()==0)R[i][j]=c-1;
				else R[i][j]=S.top()-1;
				S.push(j);
			}
		}
		int ret=0;
		for(int i=0;i<b;i++)
			for(int j=0;j<c;j++)
				ret=max(ret,table[i][j]*(R[i][j]-L[i][j]+1));
		printf("%d\n",ret);
	}
}