h, w = gets.split.map(&:to_i)
ss = readlines.map{|i| i.chomp.chars}.to_a
trans_ss = ss.transpose

tower = '#'
none = '.'

# i,jの横距離
dist_arr = Array.new(h,0).map{Array.new(w,0)}
0.upto(h-1) do |i|
  line = ss[i]
  dist = 0
  j = 0
  while(j<w) do
    if line[j]==none
      dist+=1
    else
      1.upto(dist) do |dd|
        dist_arr[i][j-dd] = dist
      end
      dist_arr[i][j] = 0
      dist = 0
    end
    j+=1
  end

  1.upto(dist) do |dd|
    dist_arr[i][w-dd] = dist
  end
end

# i,jの縦距離
dist_v_arr = Array.new(w,0).map{Array.new(h,0)}
0.upto(w-1) do |i|
  line = trans_ss[i]
  dist = 0
  j = 0
  while(j<h) do
    if line[j]==none
      dist+=1
    else
      1.upto(dist) do |dd|
        dist_v_arr[i][j-dd] = dist
      end
      dist_v_arr[i][j] = 0
      dist = 0
    end
    j+=1
  end

  1.upto(dist) do |dd|
    dist_v_arr[i][h-dd] = dist
  end
end
#puts dist_arr.to_s
#puts dist_v_arr.transpose.to_s

max = 0
0.upto(h-1) do |i|
  0.upto(w-1) do |j|
    total = dist_arr[i][j] + dist_v_arr[j][i] - 1
    if max < total
      max = total
    end
  end
end

puts max
