#include <iostream>
#include <sstream>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include <list>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <bitset>
#include <numeric>
#include <climits>
#include <cfloat>
using namespace std;

int main()
{
    for(;;){
        int h, w;
        cin >> h >> w;
        if(h == 0)
            return 0;

        vector<string> s(h);
        for(int i=0; i<h; ++i)
            cin >> s[i];

        vector<int> height(w+1, 0);
        int ret = 0;
        for(int i=0; i<h; ++i){
            for(int j=0; j<w; ++j){
                if(s[i][j] == '.')
                    ++ height[j];
                else
                    height[j] = 0;
            }
            stack<pair<int, int> > stk;
            stk.push(make_pair(0, w));
            for(int j=0; j<w+1; ++j){
                int k = j;
                while(height[j] < stk.top().first){
                    k = stk.top().second;
                    ret = max(ret, stk.top().first * (j-k));
                    stk.pop();
                }
                if(height[j] > stk.top().first)
                    stk.push(make_pair(height[j], k));
            }
        }
        cout << ret << endl;
    }
}