import core.bitop, std.algorithm, std.ascii, std.bigint, std.conv, std.math,
    std.functional, std.numeric, std.range, std.stdio, std.string, std.random,
    std.typecons, std.container;

// dfmt off
T lread(T = long)(){return readln.chomp.to!T();}
T[] aryread(T = long)(){return readln.split.to!(T[])();}
void scan(TList...)(ref TList Args){auto line = readln.split();
foreach (i, T; TList){T val = line[i].to!(T);Args[i] = val;}}
alias sread = () => readln.chomp();enum MOD = 10 ^^ 9 + 7;
// dfmt on

void main()
{
    long H, W;
    scan(H, W);
    string[] S;
    foreach (_; 0 .. H)
        S ~= sread();
    auto L = new long[][](H, W);
    auto R = new long[][](H, W);
    auto U = new long[][](H, W);
    auto D = new long[][](H, W);
    foreach (y; 0 .. H)
    {
        foreach (x; 0 .. W)
        {
            if (S[y][x] == '#')
            {
                L[y][x] = 0;
                R[y][x] = -1;
                U[y][x] = 0;
                D[y][x] = -1;
                continue;
            }
            if (x == 0)
                L[y][x] = 1;
            else
                L[y][x] = L[y][x - 1] + 1;

            if (y == 0)
                U[y][x] = 1;
            else
                U[y][x] = U[y - 1][x] + 1;
        }
        foreach_reverse (x; 0 .. W)
            if (S[y][x] != '#')
            {
                if (x == W - 1)
                    R[y][x] = 0;
                else
                    R[y][x] = R[y][x + 1] + 1;
            }
    }
    foreach_reverse (y; 0 .. H)
        foreach (x; 0 .. W)
            if (S[y][x] != '#')
            {
                if (y == H - 1)
                    D[y][x] = 0;
                else
                    D[y][x] = D[y + 1][x] + 1;
            }

    long ans = long.min;

    foreach (y; 0 .. H)
        foreach (x; 0 .. W)
            if (S[y][x] != '#')
            {
                long t = L[y][x] + R[y][x] + U[y][x] + D[y][x] - 1;
                // writefln("(%d %d) %d %d %d %d : %d", y, x, L[y][x], R[y][x], U[y][x], D[y][x], t);
                ans = ans.max(t);
            }
    writeln(ans);
}
