#include<bits/stdc++.h>
#define rep(i,n)for(int i=0;i<n;i++)
using namespace std;
typedef pair<int, int>P;

int calc(int size, int buf[]) {
	stack<P>st;
	int Max = 0;
	buf[size] = 0;
	rep(i, size + 1) {
		P p;
		p.first = buf[i]; p.second = i;
		if (st.empty())st.push(p);
		else {
			if (st.top().first < p.first)st.push(p);
			if (st.top().first > p.first) {
				while (!st.empty() && st.top().first >= p.first) {
					Max = max(Max, st.top().first*(i - st.top().second));
					p.second = st.top().second;
					st.pop();
				}
				st.push(p);
			}
		}
	}
	return Max;
}
char buf[700][700];
int T[700][700];
int main() {
	int h, w;
	while (scanf("%d%d", &h, &w), h) {
		rep(i, h)scanf("%s", buf[i]);
		rep(j, w)rep(i, h) {
			if (buf[i][j] == '*')T[i][j] = 0;
			else T[i][j] = (i > 0) ? T[i - 1][j] + 1 : 1;
		}
		int Max = 0;
		rep(i, h)Max = max(Max, calc(w, T[i]));
		printf("%d\n", Max);
	}
}