#include <bits/stdc++.h>
#define rep(i,a,n) for(register int i = (a);i<=(n);++i)
using namespace std;
const int N = 510;
const int dx[4]={0,0,-1,1},
dy[4]={-1,1,0,0};
int n,m;
int a[N][N];
bool check(int x,int y){
if(a[x+1][y] == 0&&a[x-1][y]==0&&a[x][y+1]==0&&a[x][y-1] == 0){
return 1;
}else{
return 0;
}
}
void dfs(int x,int y){
if(a[x][y]!=0&&!check(x,y)){
a[x][y] = 3;
}
for(int i=0;i<4;++i){
int xx = x+dx[i];
int yy = y+dy[i];
if(xx>=1&xx<=n&&yy>=1&&yy<=m&&a[xx][yy] == 1&&!check(xx,yy)){
a[xx][yy] = 3;
dfs(xx,yy);
}
}
}
signed main(){
cin >>n>>m;
for(int i = 1;i<=n;++i){
for(int j = 1;j<=m;++j){
char c;
cin >>c;
if(c == '*'){
a[i][j] = 0;
}else{
a[i][j] = 1;
}
}
}
for(int i = 1;i<=n;++i){
dfs(1,i);
dfs(n,i);
}
for(int i =1;i<=m;++i){
dfs(1,i);
dfs(m,i);
}
int ans = 0;
for(int i =1 ;i<=n;++i){
for(int j =1;j<=m;++j){
if(a[i][j]==1) ++ans;
}
}
cout <<ans;
return 0;
}