#include<iostream>
#include<string>
using namespace std;
class Elem{
public:
	Elem(){
		c = '*';
		h = 0;
		w = 0;
		area = 0;
	}
	char c;
	int h, w, area;
};
int main(void){
	while( true ){
		int H,W;
		int maxArea = 0;
		
		cin >> H >> W;
		if( H == 0 && W == 0 ) break;
		Elem **map;
		map = new Elem*[H+1];
		for(int i = 0; i < H+1; i++){
			map[i] = new Elem[W+1];
		}

		cin.ignore();
		for(int i = 0; i < H; i++){
			for(int j = 0; j < W; j++){
			cin >> map[i][j].c;
			}
		cin.ignore();
		}
		
		for(int i = H - 1; i >= 0; i--){
			for(int j = W - 1; j >= 0; j--){
				if( map[i][j].c == '.' ){
					int minWid;
					map[i][j].h = map[i+1][j].h + 1;
					map[i][j].w = map[i][j+1].w + 1;
					map[i][j].area = minWid = map[i][j].w;
					for(int k = 1; k < map[i][j].h; k++){
						minWid = min(minWid, map[i+k][j].w);
						map[i][j].area = max( map[i][j].area, minWid * (k+1));
					}
					maxArea = max( maxArea, map[i][j].area );
				}else{
					map[i][j].area = map[i][j].h = map[i][j].w = 0;
				}
			}
		}

		cout << maxArea << '\n';

		for(int i = 0; i < H+1; i++){
			delete [] map[i];
		}
		delete [] map;
	}
	return 0;
}