using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Competitive
{
    internal class Solution
    {
        public int H, W;
        public char[,] MP;
        public long MOD = 1000000007;

        public void Run()
        {
            {
                var line = Input.ReadIntArray();
                H = line[0];
                W = line[1];
            }

            MP = new char[H, W];
            for (int y = 0; y < H; y++)
            {
                var line = Console.ReadLine();
                for (int x = 0; x < W; x++)
                {
                    MP[y, x] = line[x];
                }
            }

            int[,] L, U, R, D;
            L = new int[H, W];
            U = new int[H, W];
            R = new int[H, W];
            D = new int[H, W];

            {
                for (int y = 0; y < H; y++)
                {
                    int last = 0;
                    for (int x = 0; x < W; x++)
                    {
                        if (MP[y, x] == '#')
                        {
                            last = 0;
                        }
                        else
                        {
                           
                            L[y, x] = last; last++;
                        }
                    }
                }
            }

            {
                for (int y = 0; y < H; y++)
                {
                    int last = 0;
                    for (int x = W - 1; x >= 0; x--)
                    {
                        if (MP[y, x] == '#')
                        {
                            last = 0;
                        }
                        else
                        {
                          
                            R[y, x] = last; last++;
                        }
                    }
                }
            }


            {
                for (int x = 0; x < W; x++)
                {
                    int last = 0;
                    for (int y = 0; y < H; y++)
                    {
                        if (MP[y, x] == '#')
                        {
                            last = 0;
                        }
                        else
                        {
                          
                            U[y, x] = last; last++;
                        }
                    }
                }
            }

            {
                for (int x = 0; x < W; x++)
                {
                    int last = 0;
                    for (int y = H - 1; y >= 0; y--)
                    {
                        if (MP[y, x] == '#')
                        {
                            last = 0;
                        }
                        else
                        {
                         
                            D[y, x] = last; last++;
                        }
                    }
                }
            }

            int ret = 0;
            for (int y = 0; y < H; y++)
            {
                for (int x = 0; x < W; x++)
                {
                    ret = Math.Max(ret, L[y, x] + R[y, x] + U[y, x] + D[y, x] + 1);
                }
            }
            Console.WriteLine(ret);
        }
    }

    // libs ----------
    

    // common ----------

    internal static class Input
    {
        public static string ReadString()
        {
            string line = Console.ReadLine();
            return line;
        }

        public static int ReadInt()
        {
            string line = Console.ReadLine();
            return int.Parse(line);
        }

        public static int[] ReadIntArray()
        {
            string line = Console.ReadLine();
            return line.Split(' ').Select(int.Parse).ToArray();            
        }

        public static long ReadLong()
        {
            string line = Console.ReadLine();
            return long.Parse(line);
        }

        public static long[] ReadLongArray()
        {
            string line = Console.ReadLine();
            return line.Split(' ').Select(long.Parse).ToArray();
        }

        public static double[] ReadDoubleArray()
        {
            string line = Console.ReadLine();
            return line.Split(' ').Select(double.Parse).ToArray();
        }
    }
    
    internal class Program
    {
        public static void Main(string[] args)
        {
            var s = new Solution();
            s.Run();
        }
    }
}

Measured memory_bytes: 85568