#include <bits/stdc++.h>
using namespace std;
int n, m, ans = 0, first_max_ans = 0;
int a[1010][1010];
void init() {
for (int k = 1; k <= n; k++) {
for (int c = 1; c <= m; c++) {
if (a[k - 1][c] == 1 and a[k + 1][c] == 1 and a[k][c - 1] == 1 and a[k][c + 1] == 1 and a[k][c] == 1) {
first_max_ans++;
}
}
}
}
int main() {
cin >> n >> m;
for (int i = 0; i <= n + 1; i++) {
for (int j = 0; j <= m + 1; j++) {
a[i][j] = 1;
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
char s;
cin >> s;
if (s == '#') a[i][j] = 0;
else a[i][j] = 1;
}
}
init();
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
if (a[i][j] == 1) continue;
a[i][j] = 1;
int sum = 0;
sum = first_max_ans;
if (i == 1 and j == 1){
if (a[i+1+1][j] == 1 and a[i+1-1][j] == 1 and a[i+1][j+1] == 1 and a[i+1][j-1] == 1 and a[i+1][j] == 1) {
sum++;
}
if (a[i+1][j+1] == 1 and a[i-1][j+1] == 1 and a[i][j+1+1] == 1 and a[i][j+1-1] == 1 and a[i][j+1] == 1) {
sum++;
}
}
else if (i == 1 and j == m){
if (a[i+1+1][j] == 1 and a[i+1-1][j] == 1 and a[i+1][j+1] == 1 and a[i+1][j-1] == 1 and a[i+1][j] == 1) {
sum++;
}
if (a[i+1][j-1] == 1 and a[i-1][j-1] == 1 and a[i][j-1+1] == 1 and a[i][j-1-1] == 1 and a[i][j-1] == 1) {
sum++;
}
}
else if (i == n and j == 1){
if (a[i-1+1][j] == 1 and a[i-1-1][j] == 1 and a[i-1][j+1] == 1 and a[i-1][j-1] == 1 and a[i-1][j] == 1) {
sum++;
}
if (a[i+1][j+1] == 1 and a[i-1][j+1] == 1 and a[i][j+1+1] == 1 and a[i][j+1-1] == 1 and a[i][j+1] == 1) {
sum++;
}
}
else if (i == n and j == m){
if (a[i-1+1][j] == 1 and a[i-1-1][j] == 1 and a[i-1][j+1] == 1 and a[i-1][j-1] == 1 and a[i-1][j] == 1) {
sum++;
}
if (a[i+1][j-1] == 1 and a[i-1][j-1] == 1 and a[i][j-1+1] == 1 and a[i][j-1-1] == 1 and a[i][j-1] == 1) {
sum++;
}
}
else if (i == 1 and j != 1 and j != m){
if (a[i+1][j-1] == 1 and a[i-1][j-1] == 1 and a[i][j-1+1] == 1 and a[i][j-1-1] == 1 and a[i][j-1] == 1) {
sum++;
}
if (a[i+1][j+1] == 1 and a[i-1][j+1] == 1 and a[i][j+1+1] == 1 and a[i][j+1-1] == 1 and a[i][j+1] == 1) {
sum++;
}
if (a[i+1+1][j] == 1 and a[i+1-1][j] == 1 and a[i+1][j+1] == 1 and a[i+1][j-1] == 1 and a[i+1][j] == 1) {
sum++;
}
}
else if (i == n and j!= 1 and j!= m){
if (a[i+1][j-1] == 1 and a[i-1][j-1] == 1 and a[i][j-1+1] == 1 and a[i][j-1-1] == 1 and a[i][j-1] == 1) {
sum++;
}
if (a[i+1][j+1] == 1 and a[i-1][j+1] == 1 and a[i][j+1+1] == 1 and a[i][j+1-1] == 1 and a[i][j+1] == 1) {
sum++;
}
if (a[i-1+1][j] == 1 and a[i-1-1][j] == 1 and a[i-1][j+1] == 1 and a[i-1][j-1] == 1 and a[i-1][j] == 1) {
sum++;
}
}
else if (i != 1 and i != n and j == 1){
if (a[i+1+1][j] == 1 and a[i+1-1][j] == 1 and a[i+1][j+1] == 1 and a[i+1][j-1] == 1 and a[i+1][j] == 1) {
sum++;
}
if (a[i-1+1][j] == 1 and a[i-1-1][j] == 1 and a[i-1][j+1] == 1 and a[i-1][j-1] == 1 and a[i-1][j] == 1) {
sum++;
}
if (a[i+1][j+1] == 1 and a[i-1][j+1] == 1 and a[i][j+1+1] == 1 and a[i][j+1-1] == 1 and a[i][j+1] == 1) {
sum++;
}
}
else if (i!= 1 and i!= n and j == m){
if (a[i+1+1][j] == 1 and a[i+1-1][j] == 1 and a[i+1][j+1] == 1 and a[i+1][j-1] == 1 and a[i+1][j] == 1) {
sum++;
}
if (a[i-1+1][j] == 1 and a[i-1-1][j] == 1 and a[i-1][j+1] == 1 and a[i-1][j-1] == 1 and a[i-1][j] == 1) {
sum++;
}
if (a[i+1][j-1] == 1 and a[i-1][j-1] == 1 and a[i][j-1+1] == 1 and a[i][j-1-1] == 1 and a[i][j-1] == 1) {
sum++;
}
}
else{
if (a[i+1+1][j] == 1 and a[i+1-1][j] == 1 and a[i+1][j+1] == 1 and a[i+1][j-1] == 1 and a[i+1][j] == 1) {
sum++;
}
if (a[i+1][j-1] == 1 and a[i-1][j-1] == 1 and a[i][j-1+1] == 1 and a[i][j-1-1] == 1 and a[i][j-1] == 1) {
sum++;
}
if (a[i+1+1][j] == 1 and a[i+1-1][j] == 1 and a[i+1][j+1] == 1 and a[i+1][j-1] == 1 and a[i+1][j] == 1) {
sum++;
}
if (a[i+1][j+1] == 1 and a[i-1][j+1] == 1 and a[i][j+1+1] == 1 and a[i][j+1-1] == 1 and a[i][j+1] == 1) {
sum++;
}
}
if (a[i][j] == 1 and a[i+1][j] == 1 and a[i-1][j] == 1 and a[i][j+1] == 1 and a[i][j-1] == 1) {
sum++;
}
ans = max(ans, sum);
a[i][j] = 0;
}
}
cout << ans;
return 0;
}