#include<iostream>
#include<string>
#include<algorithm>
#include<stack>
#include<queue>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<vector>
using namespace std;
#define rep(i,n) for(int i =0;i<n;i++)
#define REP(n) rep(i,n)

const int maxw = 510;
const int maxh = 510;

int w,h;
char tile[maxw][maxh];
int width[maxw][maxh];

int main()
{
    while(cin >> w >> h && (w&&h))
    {
        memset(width,0,sizeof(width));
        rep(j,h)rep(i,w) cin >> tile[i][j];
    
        rep(j,h)for(int i=w-1;i>=0;i--)
        {
            if(tile[i][j] == '*')width[i][j] = 0;
            else width[i][j] = width[i+1][j]+1;
        }
        /*rep(j,h)
        {
            rep(i,w)
            {
                cout << width[i][j] << " " ;
            }
            cout << endl;
        }*/


        int ans = 0;
        rep(j,h)rep(i,w)
        {
            int maxwidth = width[i][j];
            for(int maxhaight = 1;maxhaight <= h-j; maxhaight++)
            {
                maxwidth = min(maxwidth,width[i][j+maxhaight]);   
                ans = max(ans, maxwidth *( maxhaight + 1));
            }
        }
        cout << ans << endl;
    }
    
    return 0;
}