#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int visited[110];
int a[110][110],max1;
void dfs(int v)
{
visited[v]=1;
for(int i1=0;i1<=max1;i1++)
if(a[v][i1]&&!visited[i1])
dfs(i1);
}
int main()
{
int n,m,i,j,cnt;
char ch;
while(cin>>n>>m&&n&&m)
{
if(n>m) max1=n;
else max1=m;
memset(a,0,sizeof(a)); cnt=0;
memset(visited,0,sizeof(visited));
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
cin>>ch;
if(ch=='@')
{
a[i][j]=1;
a[j][i]=1;
}
}
for(i=0;i<max1;i++)
if(!visited[i])
{
for(int j=0;j<max1;j++)
if(a[i][j])
cnt++;
dfs(i);
}
cout<<cnt<<endl;
}
return 0;
}