#include<iostream>
#include<stack>
using namespace std;
int main()
{
	int w,h;
	while(cin>>h>>w,h) 
	{
		int f[h][w+1];
		for(int i = 0; i < h; ++i)
		{
			for(int j = 0; j < w+1; ++j)
			{
				if(j==w)
				{
					f[i][j]=0;
					continue;
				}
				char t; cin>>t;
				if(i==0)
				{
					if(t=='*') f[i][j]=0;
					else f[i][j]=1;
				}
				else 
				{
					if(t=='*') f[i][j]=0;
					else f[i][j]=f[i-1][j]+1;
				}
				//cout<<" "<<f[i][j];
			}
			//cout<<endl;
		}

		int ans=0;
		for(int i = 0; i < h; ++i)
		{
			stack<int> pos,height;
			for(int j = 0; j < w+1; ++j)
			{
				if(pos.empty())
				{
					pos.push(j); height.push(f[i][j]);
				}
				else if(height.top()<f[i][j])
				{
					pos.push(j); height.push(f[i][j]);
				}
				else if(height.top()>f[i][j])
				{
					int he,p;
					while(!height.empty()&&height.top()>f[i][j])
					{
						p=pos.top(); pos.pop();
						he=height.top(); height.pop();
						ans=max(ans,he*(j-p));
					}
					height.push(f[i][j]); pos.push(p);
				}
			}
		}
		cout<<ans<<endl;
	}
  return 0;
}