#include<bits/stdc++.h>
using namespace std;
bool mp[110][110],vis[110][110];
int m,n,cnt;
int xx[8] = {-1,1,0,0,1,-1,1,-1};
int yy[8] = {0,0,-1,1,1,-1,-1,1};
void dfs(int x,int y){
vis[x][y] = 1;
for(int i=0 ; i<8 ; i++){
int dx = x+xx[i],dy = y+yy[i];
if(dx>=1&&dx<=m&&dy>=1&&dy<=n&&!mp[dx][dy]&&!vis[dx][dy]){
dfs(dx,dy);
}
}
return ;
}
int main(){
while(true){
cnt = 0;
memset(vis,0,sizeof(vis));
cin >> m >> n;
if(m == 0 && n == 0)
return 0;
for(int i=1 ; i<=m ; i++)
for(int j=1 ; j<=n ; j++){
char c;
cin >> c;
if(c == '*') mp[i][j] = 1;
}
for(int i=1 ; i<= m ; i++)
for(int j=1 ; j<=n ; j++)
if(!mp[i][j]&&!vis[i][j]){
cnt ++;
dfs(i,j);
}
cout << cnt << endl;
}
return 0;
}