// Задача "Отель"
// 4-я личная Интернет-олимпиада сезона 2009/2010
// Автор задачи: Павел Маврин
// Автор решения: Владимир Ульянцев

uses
    math;
type
    int = longint;
const
    MAXN = 100;
var
    n, m, i, j : int;
    x1, x2, y1, y2 : int;

    a : array [1..MAXN, 1..MAXN] of char;
    ans : int;

function check(x1, y1, x2, y2 : int) : boolean;
var
    i, j : int;
begin
    result := true;
    // left
    if (y1 > 1) then begin
        for i := x1 to x2 do begin
            if (a[i][y1 - 1] = '.') then begin
                result := false;
            end; 
        end;
    end;

    // right
    if (y2 < m) then begin
        for i := x1 to x2 do begin
            if (a[i][y2 + 1] = '.') then begin
                result := false;
            end; 
        end;
    end;

    // top
    if (x1 > 1) then begin
        for i := y1 to y2 do begin
            if (a[x1 - 1][i] = '.') then begin
                result := false;
            end; 
        end;
    end;

    // bottom
    if (x2 < n) then begin
        for i := y1 to y2 do begin
            if (a[x2 + 1][i] = '.') then begin
                result := false;
            end; 
        end;
    end;

    for i := x1 to x2 do begin
        for j := y1 to y2 do begin
            if (a[i][j] = '*') then begin
                result := false;
            end;
        end;
    end;
end;

begin
    reset(input, 'hotel.in');
    rewrite(output, 'hotel.out');

    read(n, m);

    for i := 1 to n do begin
        readln;
        for j := 1 to m do begin
            read(a[i][j]);
        end;
    end;

    ans := -1;

    for x1 := 1 to n do begin
        for y1 := 1 to m do begin
            for x2 := x1 to n do begin
                for y2 := y1 to m do begin
                    if (check(x1, y1, x2, y2)) then begin
                        ans := max((x2 - x1 + 1) * (y2 - y1 + 1), ans);
                    end;
                end;
            end;
        end;
    end;

    writeln(ans);
end.
