#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;

char g[100][100];
int m,n,v[100][100],d[][2]={-1,-1,-1,0,-1,1,0,-1,0,1,1,-1,1,0,1,1};

void dfs(int x,int y)
{
	int i,xx,yy;
	for(i=0;i<8;i++)
	{
		xx=x+d[i][0];
		yy=y+d[i][1];
		if(xx<0||xx>=m||yy<0||yy>=n||g[xx][yy]=='*'||v[xx][yy])
			continue;
		v[xx][yy]=1;
		dfs(xx,yy);
	}
}

int main()
{
	int i,j,ans;
	while(cin>>m>>n,m)
	{
		for(i=0;i<m;i++)
			for(j=0;j<n;j++)
				cin>>g[i][j];
		memset(v,0,sizeof(v));
		for(ans=i=0;i<m;i++)
			for(j=0;j<n;j++)
			{
				if(v[i][j]||g[i][j]=='*')
					continue;
				dfs(i,j);
				ans++;
			}
		printf("%d\n",ans);
	}
	return 0;
}
/**************************************************************
	Problem: 2233
	User: admin
	Language: C++
	Result: Accepted
	Time:10 ms
	Memory:2172 kb
****************************************************************/