object Main {

  def main(args: Array[String]): Unit = {
    val sc = new java.util.Scanner(System.in)
    val H, W = sc.nextInt
    val S = Array.fill(H)(sc.next)
    val left = Array.ofDim[Int](H, W)
    val right = Array.ofDim[Int](H, W)
    val up = Array.ofDim[Int](H, W)
    val down = Array.ofDim[Int](H, W)

    for (h <- 0 until H) {
      var count = 0
      for (w <- 0 until W) {
        if (S(h)(w) == '#') {
          count = 0
        } else {
          count += 1
        }
        left(h)(w) = count
      }
    }

    for (h <- H - 1 to 0 by -1) {
      var count = 0
      for (w <- W - 1 to 0 by -1) {
        if (S(h)(w) == '#') {
          count = 0
        } else {
          count += 1
        }
        right(h)(w) = count
      }
    }

    for (w <- 0 until W) {
      var count = 0
      for (h <- 0 until H) {
        if (S(h)(w) == '#') {
          count = 0
        } else {
          count += 1
        }
        down(h)(w) = count
      }
    }

    for (w <- W - 1 to 0 by -1) {
      var count = 0
      for (h <- H - 1 to 0 by -1) {
        if (S(h)(w) == '#') {
          count = 0
        } else {
          count += 1
        }
        up(h)(w) = count
      }
    }

    var result = 0
    for (h <- 0 until H) {
      for (w <- 0 until W) {
        val light = left(h)(w) + right(h)(w) + up(h)(w) + down(h)(w) - 3
        if (result < light) {
          result = light
        }
      }
    }
    println(result)
  }
}