#include<iostream>
#include<algorithm>

int h, w;
char map[501][501];
int data[502][502];

int main(){
	while (std::cin >> h >> w, h || w){
		for (int i = 0; i < h; i++){
			for (int j = 0; j < w; j++){
				std::cin >> map[i][j];
			}
		}

		for (int i = 0; i < h; i++){
			data[i][w] = 0;
			for (int j = w - 1; j >= 0; j--){
				data[i][j] = data[i][j + 1] + 1;
				if (map[i][j] == '*')data[i][j] = 0;
			}
		}

		int max = 0;

		for (int i = 0; i < h; i++){
			for (int j = 0; j < w; j++){
				for (int k = 1; k <= h - i; k++){
					int width = data[i][j];
					for (int l = 1; l < k; l++)width = std::min(width, data[i + l][j]);
					max = std::max(max, k * width);
				}
			}
		}

		std::cout << max << std::endl;
	}

	return 0;
}