object Main extends App {
  import java.util.Scanner

  val scan = new Scanner(System.in)
  val h, w = scan.nextInt
  var s = Vector(): Vector[String]
  for (i <- 0 to h - 1) {
    s :+= scan.next.trim()
  }
  var dw = Array.ofDim[Int](h, w)
  var dh = Array.ofDim[Int](w, h)
  for ( i <- 0 to (h - 1) ) {
    var count = 0
    for ( j <- 0 to (w - 1) ) {
      if (s(i)(j) == '#') {
        dw(i)(j) = 0
      }
      else if (j == 0 || s(i)(j - 1) == '#') {
        def loop1(i: Int, k: Int, w: Int, count: Int): Int = {
          if (k > w - 1 || s(i)(k) != '.') {
            return count
          }
          else {
            return loop1(i, (k + 1), w, (count + 1))
          }
        }
        count = loop1(i, j, w, 0)
        dw(i)(j) = count
      }
      else {
        dw(i)(j) = count
      }
    }
  }
  for ( j <- 0 to (w - 1) ) {
    var count = 0
    for ( i <- 0 to (h - 1) ) {
      if (s(i)(j) == '#') {
        dh(j)(i) = 0
      }
      else if (i == 0 || s(i - 1)(j) == '#') {
        def loop2(k: Int, j: Int, h: Int, count: Int): Int = {
          if (k > h - 1 || s(k)(j) != '.') {
            return count
          }
          else {
            return loop2((k + 1), j, h, (count + 1))
          }
        }
        count = loop2(i, j, h, 0)
        dh(j)(i) = count
      }
      else {
        dh(j)(i) = count
      }
    }
  }
  var max = 0
  for (i <- 0 to (h - 1)) {
    for (j <- 0 to (w - 1)) {
      var sum = dw(i)(j) + dh(j)(i)
      if (max < sum) {
        max = sum
      }
    }
  }
  println(max - 1)
}
