#include <bits/stdc++.h>
using namespace std;
constexpr int MOD = 1e9 + 7;
int A[2000][2000][2];
void solve()
{
	memset(A, 0, sizeof(A));
	int h, w;
	cin >> h >> w;
	auto S = vector<string>(h);
	for(auto& x : S)
		cin >> x;
	
	for(auto i = 0; i < h; ++i)
	{
		for(auto j = 0; j < w; ++j)
		{
			if(S[i][j] == '.') {
				if(i == 0)
					A[i][j][0] = 1;
				else
					A[i][j][0] = A[i-1][j][0] + 1;
				if(j == 0)
					A[i][j][1] = 1;
				else
					A[i][j][1] = A[i][j-1][1] + 1;
			}
		}
	}

	auto ans = 0;
	for(auto i = h-1; i >= 0; --i)
	{
		for(auto j = w-1; j >= 0; --j)
		{
			if(S[i][j] == '.') {
				if(i < h-1 && S[i+1][j] == '.')
					A[i][j][0] = A[i+1][j][0];
				if(j < w-1 && S[i][j+1] == '.')
					A[i][j][1] = A[i][j+1][1];

				ans = max(ans, A[i][j][0] + A[i][j][1] - 1);
			}
		}
	}
	cout << ans << endl;
}

int main()
{
	cin.sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	solve();
}