#include <iostream>
using namespace std;
int w,h,r;
char p[102][102];
bool flag;
void rec(int y,int x){
	if(p[y][x]=='&')flag = true;
	if(flag || p[y][x]=='#')return;
	p[y][x]='#';
	if(x+1<w+2 )rec(y,x+1);
	if(y+1<h+2 )rec(y+1,x);
	if(x-1>=0)rec(y,x-1);
	if(y-1>=0)rec(y-1,x);
}

int main(){

	while(cin >> w >> h && w){
		flag = false ;
		for(int i=0;i<102;i++)
		for(int j=0;j<102;j++)
		 p[i][j] = '.';
		
		for(int i=0;i<h;i++)
		for(int j=0;j<w;j++)
		cin >> p[1+i][1+j];

		r = 0;
		for(int i=0;i<h+2;i++)
		for(int j=0;j<w+2;j++){
			if(p[i][j]=='.'&& !flag){
				r++;
				rec(i,j);
			}
		}
		cout << r-1 << endl;
	}
}