#include <cstdio>
#include <cstring>
#include <stack>
#include <utility>
using namespace std;
typedef pair<int,int> P; //[high][pos]
int T[500][501],H,W; //[H][W]
char M[500][501];
int count(int histogram[501]) {
	histogram[W]=0;
	stack<P> ST;
	int max_s=0;
	for(int i=0;i<=W;i++) {
		if(ST.empty()) {
			ST.push(P(histogram[i],i));
		}else {
			if(ST.top().first<histogram[i]) {
				ST.push(P(histogram[i],i));
			}else if(ST.top().first>histogram[i]) {
				int target=i;
				while(!ST.empty()&&ST.top().first>=histogram[i]) {
					int s=(ST.top().first)*(i-ST.top().second);
					if(max_s<s) max_s=s;
					target=ST.top().second;
					ST.pop();
				}
				ST.push(P(histogram[i],target));
			}
		}
	}
	return max_s;
}
int main() {
	while(scanf("%d %d",&H,&W),H) {
		for(int i=0;i<H;i++) {
			scanf("%s",M[i]);
		}
		memset(T,0,sizeof(T));
		for(int i=0;i<H;i++) {
			for(int j=0;j<W;j++) {
				if(i>0) T[i][j]=T[i-1][j];
				if(M[i][j]=='.') T[i][j]++;
				else T[i][j]=0;
			}
		}
		int max_s=0;
		for(int i=0;i<H;i++) {
			int s=count(T[i]);
			if(max_s<s) max_s=s;
		}
		printf("%d\n",max_s);
	}
}