#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;

int main()
{
  int H, W;
  while (cin >> H >> W) {
    if ((H|W) == 0)
      break;

    vector<string> rec(H);
    for (int i = 0; i < H; ++i)
      cin >> rec[i];

    vector<vector<int> > dp1(H, vector<int>(W, 0)), dp2(H, vector<int>(W, 0));
    for (int i = 0; i < W; ++i) {
      dp1[0][i] = i+1;
      dp2[0][i] = 1;
    }
    for (int i = 0; i < H; ++i) {
      dp1[i][0] = 1;
      dp2[i][0] = i+1;
    }

    int ans = dp1[0][0]*dp2[0][0];
    for (int i = 1; i < H; ++i) {
      for (int j = 1; j < W; ++j) {
	if (rec[i][j] == '*')
	  continue;
	dp1[i][j] = min(dp1[i][j-1], dp1[i-1][j-1]) + 1;
	dp2[i][j] = min(dp2[i-1][j], dp2[i-1][j-1]) + 1;
	ans = max(ans, dp1[i][j]*dp2[i][j]);
      }
    }
    cout << ans << endl;
  }
  return 0;
}