import Foundation

func readWords<T>(_ f: (Substring) -> T) -> [T] {
    return readLine()!.split(separator: " ").map(f)
}


func main() {
    let hw = readWords { Int($0)! }
    let h = hw[0]
    let w = hw[1]

    let grid = (1...h).map { _ in Array(readLine()!) }

    let makeGrid = { (1...h).map { _ in [Int](repeating: 0, count: w) } }
    var L = makeGrid()
    var R = makeGrid()
    var U = makeGrid()
    var D = makeGrid()

    for i in 0..<h {
        for j in 0..<w {
            if j == 0 { 
                L[i][j] = 1
                R[i][w-j-1] = 1
            } else {
                L[i][j] = L[i][j-1] + 1
                R[i][w-j-1] = R[i][w-j] + 1 
            }

            if i == 0 {
                U[i][j] = 1
                D[h-i-1][j] = 1
            } else {
                U[i][j] = U[i-1][j] + 1
                D[h-i-1][j] = D[h-i][j] + 1
            }

            if grid[i][j] == "#" {
                L[i][j] = 0
                U[i][j] = 0
            }

            if grid[i][w-j-1] == "#" {
                R[i][w-j-1] = 0
            }

            if grid[h-i-1][j] == "#" {
                D[h-i-1][j] = 0
            }
        }
    }

    var ans = 0
    for i in 0..<h {
        for j in 0..<w {
            ans = max(ans, L[i][j] + R[i][j] + U[i][j] + D[i][j] - 3)
        }
    }

    print(ans)
}


main()