#include<iostream>
#include<stack>
#include<algorithm>
using namespace std;
string s[500];
int h,w;
int a[500][500];
main()
{
	while(cin>>h>>w,h)
	{
		for(int i=0;i<h;i++)cin>>s[i];
		int ans=0;
		for(int i=0;i<h;i++)
		{
			for(int j=0;j<w;j++)a[i][j]=s[i][j]=='.'?1+(i>0?a[i-1][j]:0):0;
			stack<pair<int,int> >S;
			for(int j=0;j<w;j++)
			{
				int H=a[i][j];int k=j;
				while(!S.empty()&&S.top().second>=H)
				{
					k=S.top().first;int I=S.top().second;S.pop();
					ans=max(ans,I*(j-k));
				}
				S.push(make_pair(k,H));
			}
			while(!S.empty())
			{
				int k=S.top().first,I=S.top().second;S.pop();
				ans=max(ans,I*(w-k));
			}
		}
		cout<<ans<<endl;
	}
}


