#include<bits/stdc++.h>
using namespace std;
char a[600][600];
bool m[600][600];
bool v[600][600];
bool v2[600][600];
int x, y;
void dfs(int xi, int yi) {
if (xi < 1 || xi > x || yi < 1 || yi > y || m[xi][yi]) return;
v[xi][yi] = true;
dfs(xi + 1, yi);
dfs(xi - 1, yi);
dfs(xi, yi + 1);
dfs(xi, yi - 1);
}
void d2(int xi, int yj) {
if (xi < 1 || xi > x || yj < 1 || yj > y || m[xi][yj] || v[xi][yj]) return;
v2[xi][yj] = true;
dfs(xi + 1, yj);
dfs(xi - 1, yj);
dfs(xi, yj + 1);
dfs(xi, yj - 1);
}
int main() {
int ans = 0;
cin >> x >> y;
for (int i = 1; i <= x; i++)
for (int j = 1; j <= y; j++) {
char ch;
cin >> ch;
a[i][j] = ch;
if (ch == '*') m[i][j] = true, v[i][j] = true;
}
dfs(0, 0);
for (int i = 1; i <= x; i++) {
for (int j = 1; j <= y; j++) {
if (!v[i][j] && !v2[i][j]) {
ans++;
d2(i, j);
}
}
}
cout << ans;
}