#include <bits/stdc++.h>
using namespace std;
int chessboard[54][54];
int main() {
int n, m;
cin >> n >> m;
for(int i = 2; i < n + 2; i ++) {
for(int j = 2; j < m + 2; j ++) {
char c;
cin >> c;
chessboard[i][j] = c == '.' ? 0 : 1;
}
}
int count = 0;
vector<pair<int, int>> positions;
for(int i = 2; i < n + 2; i ++) {
for(int j = 2; j < m + 2; j ++) {
if(chessboard[i][j] != 1) continue;
if(chessboard[i + 1][j] == 1) {positions.push_back({i - 1, j});positions.push_back({i + 2, j});}
if(chessboard[i - 1][j] == 1){positions.push_back({i + 1, j});positions.push_back({i - 2, j});}
if(chessboard[i][j + 1] == 1) {positions.push_back({i, j - 1});positions.push_back({i, j + 2});}
if(chessboard[i][j - 1] == 1) {positions.push_back({i, j + 1});positions.push_back({i, j - 2});}
if(chessboard[i + 1][j + 1] == 1) {positions.push_back({i - 1, j - 1});positions.push_back({i + 2, j + 2});}
if(chessboard[i - 1][j - 1] == 1) {positions.push_back({i + 1, j + 1});positions.push_back({i - 2, j - 2});}
if(chessboard[i - 1][j + 1] == 1) {positions.push_back({i - 1, j + 1});positions.push_back({i + 1, j - 1});}
if(chessboard[i + 1][j - 1] == 1) {positions.push_back({i + 1, j - 1});positions.push_back({i - 1, j + 1});}
if(chessboard[i + 2][j + 2] == 1) positions.push_back({i + 1, j + 1});
if(chessboard[i - 2][j - 2] == 1) positions.push_back({i - 1, j - 1});
if(chessboard[i + 2][j - 2] == 1) positions.push_back({i + 1, j - 1});
if(chessboard[i - 2][j + 2] == 1) positions.push_back({i - 1, j + 1});
if(chessboard[i + 2][j] == 1) positions.push_back({i + 1, j});
if(chessboard[i - 2][j] == 1) positions.push_back({i - 1, j});
if(chessboard[i][j + 2] == 1) positions.push_back({i, j + 1});
if(chessboard[i][j - 2] == 1) positions.push_back({i, j - 1});
}
}
for(auto& position : positions) {
if(position.first < 2 || position.second < 2 || position.first > n + 2 || position.second > m + 2) continue;
if(chessboard[position.first][position.second] == 0) {
chessboard[position.first][position.second] = 2;
count ++;
}
}
cout << count;
return 0;
}