#include<iostream>
#include<algorithm>
using namespace std;
int dp[500][500];
int top[500];
int main(){
    int h,w;
    char z;
    while(true){
    cin>>h>>w;
    if(h==0&&w==0)break;
    for(int i=0;i<500;i++)top[i]=0;
    for(int j=0;j<w;j++){
        cin>>z;
        dp[0][j]=1;
        if(z=='*')dp[0][j]=0;
        top[j]=max(top[j],dp[0][j]);
    }
    for(int i=1;i<h;i++){
        for(int j=0;j<w;j++){
            cin>>z;
            dp[i][j]=dp[i-1][j]+1;
            if(z=='*')dp[i][j]=0;
            top[i]=max(top[i],dp[i][j]);
        }
    }
    bool t[500];
    int ans=0;
    for(int i=0;i<h;i++){
        for(int j=0;j<w;j++)t[j]=true;
        for(int j=1;j<=top[i];j++){
            for(int k=0;k<w;k++)if(dp[i][k]==j-1)t[k]=false;
            int best=0,cnt=0;
            for(int k=0;k<w;k++){
                if(t[k])cnt++;
                else{
                    best=max(best,cnt);
                    cnt=0;
                }
            }
            best=max(best,cnt);
            ans=max(ans,best*j);
        }
    }
    cout<<ans<<endl;
    }
    return 0;
}