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

int main(){
  int h,w;

  while(1){
    cin >> h >> w;
    if(!h && !w)break;
    
    vector<string> grid;
    for(int i=0;i<h;i++){
      string tmp;
      cin >> tmp;
      grid.push_back(tmp);
    }

    int ans = 0;
    for(int i=0;i<h;i++){
      for(int j=0;j<w;j++){
	if(grid[i][j] == '.');
	int dx = 1,dy = 1;
	while(i+dy<h && grid[i+dy][j] == '.')dy++;
	while(j+dx<w && grid[i][j+dx] == '.')dx++;
	int tmp = 0;
	int x = dx;
	for(int k=0;k<dy;k++){
	  int l;
	  for(l=0;l<dx;l++){
	    if(grid[i+k][j+l]=='*'){
	      x = min(x,l);
	      tmp = max(tmp,x*(k+1));
	      break;
	    }
	  }
	  if(l==dx)tmp = max(tmp,x*(k+1));
	}
	//if(ans<tmp)cout << "[" << i << " " << j << "]:" << tmp << endl;
	ans = max(ans,tmp);
      }
    }
    cout << ans << endl;
  }
}