#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main() {
	int H, W, ans = 0;
	cin >> H >> W;
	vector<string> S(H);
	for (string& i : S) cin >> i;
	vector<vector<int>> b(H, vector<int>(W)), c(H, vector<int>(W));
	for (int i = 0; i < H; ++i) {
		if (S[i][0] == '.') b[i][0] = 1;
		for (int j = 1; j < W; ++j) {
			if (S[i][j] == '.') b[i][j] = 1 + b[i][j - 1];
		}
		for (int j = W - 2; j >= 0; --j) {
			if (S[i][j] == '.') b[i][j] = max(b[i][j], b[i][j + 1]);
		}
	}
	for (int i = 0; i < W; ++i) {
		if (S[0][i] == '.') c[0][i] = 1;
		for (int j = 1; j < H; ++j) {
			if (S[j][i] == '.') c[j][i] = 1 + c[j - 1][i];
		}
		for (int j = H - 2; j >= 0; --j) {
			if (S[j][i] == '.') c[j][i] = max(c[j][i], c[j + 1][i]);
		}
	}
	for (int i = 0; i < H; ++i) {
		for (int j = 0; j < W; ++j) ans = max(ans, b[i][j] - 1 + c[i][j]);
	}
	cout << ans;
}