#include <iostream>
#include <cstdio>

using namespace std;

int m[500][500];

int count(int x, int y) {
	if (x < 0 || y < 0) return 0;
	return m[y][x];
}

int main() {
	int H, W;
	while (cin >> H >> W, H || W) {
		for (int y = 0; y < H; ++y) {
			string str; cin >> str;
			for (int x = 0; x < W; ++x) {
				m[y][x] = str[x] == '*';
			}
		}

		for (int y = 0; y < H; ++y)
			for (int x = 0; x < W-1; ++x)
				m[y][x+1] += m[y][x];

		for (int x = 0; x < W; ++x)
			for (int y = 0; y < H-1; ++y)
				m[y+1][x] += m[y][x];

		int ans = 0;
		bool used[500][500] = {0};
		for (int y1 = 0; y1 < H; ++y1) {
			for (int x1 = 0; x1 < W; ++x1) {
				if (used[x1][y1]) continue;
				for (int y2 = y1; y2 < H; ++y2) {
					for (int x2 = x1; x2 < W; ++x2) {
						if (count(x2, y2) - (count(x2, y1-1) + count(x1-1, y2) - count(x1-1, y1-1)) == 0) {
							used[x2][y2] = true;
							ans = max(ans, (y2-y1+1) * (x2-x1+1));
						}
					}
				}
			}
		}

		cout << ans << endl;
	}
}