#include <iostream>
#include <string>
#include <vector>
using namespace std;
#define rep2(x,from,to) for(int x=(from);x<(to);++(x))
#define rep(x,to) rep2(x,0,to)

int main() {
	int h, w;
	while(cin >> h >> w && (h || w)) {
		vector<vector<int> > v(h);
		rep(i,h) {
			vector<int> va(w+1);
			v[i] = va;
		}
		rep(i,h) {
			string s;
			cin >> s;
			rep(j,w) {
				if(s[j] == '.') v[i][j] = 1;
			}
		}
		rep(i,h) {
			rep2(j,1,w) {
				if(v[i][j] > 0) v[i][j] += v[i][j-1];
			}
		}
		int max = 0;
		rep(i,h) {
			rep2(j,1,w+1) {
				if(v[i][j] < v[i][j-1]) {
					int buf = v[i][j-1];
					int cur = buf;
					for(int k = i-1; k >= 0 && v[k][j-1] != 0; --k) {
						if(cur > v[k][j-1]) cur = v[k][j-1];
						if(buf < cur * (i-k+1)) buf = cur * (i-k+1);
					}
					if(max < buf) max = buf;
				}		
			}
		}
		cout << max << endl;
	}
	return 0;
}