#include <bits/stdc++.h>
  using namespace std;
  typedef long long int ll;
  #define mod 1000000007
  #define all(v)  v.begin(),v.end()
  #define pb push_back
  #define fast ios_base:: sync_with_stdio(false); cin.tie(NULL);cout.tie(NULL)
  ll power_mod(ll a,ll x){if(x==0) return 1;ll y=power_mod(a,x/2);ll ans=(y*y)%mod; if(x%2) ans=(ans*a)%mod;return ans;}
  ll inv(ll a){return power_mod(a,mod-2);}
  ll power(ll a, ll x){ if(x==0) return 1; ll y= power(a,x/2); ll ans=(y*y); if(x%2) ans*=a; return ans;}
  int add(int a ,int b){ a+=b; if(a>mod) a-=mod; return a;}  

  int main()
  {
     
           int n,m;
           cin>>n>>m;
           char s[n+1][m+1];
           for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>s[i][j];

           int pre[n+1][m+1];
           int nxt[n+1][m+1];
           int top[n+1][m+1];
           int down[n+1][m+1];

           for(int i=1;i<=n;i++)
           {
              int p=0;
              for(int j=1;j<=m;j++)
              {
                  if(s[i][j]=='.')
                  {
                     pre[i][j]=p;

                  }
                  else
                  {
                      pre[i][j]=j;
                      p=j;
                  }
              }
           }

           for(int i=1;i<=n;i++)
           {
              int p=m+1;
              for(int j=m;j>=1;j--)
              {
                  if(s[i][j]=='.')
                  {
                     nxt[i][j]=p;

                  }
                  else
                  {
                      nxt[i][j]=j;
                      p=j;
                  }
              }
           }
          

          for(int j=1;j<=m;j++)
           {
              int p=0;
              for(int i=1;i<=n;i++)
              {
                  if(s[i][j]=='.')
                  {
                     top[i][j]=p;

                  }
                  else
                  {
                      p=i;
                      top[i][j]=p;
                  }
              }
           }

            for(int j=1;j<=m;j++)
           {
              int p=n+1;
              for(int i=n;i>=1;i--)
              {
                  if(s[i][j]=='.')
                  {
                     down[i][j]=p;


                  }
                  else
                  {
                      p=i;
                      down[i][j]=p;
                  }
              }
           }
           // for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++) {cout<<pre[i][j]<<" ";}cout<<endl;}
           // for(int i=1;i<=n;i++) {for(int j=1;j<=m;j++) {cout<<nxt[i][j]<<" ";} cout<<endl;} 
           // for(int i=1;i<=n;i++) {for(int j=1;j<=m;j++){ cout<<top[i][j]<<" ";} cout<<endl;}
           // for(int i=1;i<=n;i++) {for(int j=1;j<=m;j++) {cout<<down[i][j]<<" "; }cout<<endl;} 

            int ans=0;

            for(int i=1;i<=n;i++)
            {
                for(int j=1;j<=m;j++)
                {
                   if(s[i][j]=='.')
                   {
                       int temp=nxt[i][j]-pre[i][j]+down[i][j]-top[i][j]-2;
                       ans=max(ans,temp-1);
                   }
                }
            }

            cout<<ans<<endl;





  }
  
  




Measured memory_bytes: 66688