#include<stdio.h> char s[150][150]; int move[8][2]={{1,0},{-1,0},{0,1},{0,-1},{1,1},{1,-1},{-1,1},{-1,-1}}; int n,m,k,ans; void dfs(int x,int y) { int i; for(i=0;i<8;i++) { int tx=x+move[i][0]; int ty=y+move[i][1]; if(tx>=0&&tx<n&&ty>=0&&ty<m&&s[tx][ty]=='@') { s[tx][ty]='*'; dfs(tx,ty); } } } int main() { int i,j; while(scanf("%d%d",&n,&m)) { ans=0; if(n+m==0) break; for(i=0;i<n;i++) { scanf("%s",s[i]); } for(i=0;i<n;i++) { for(j=0;j<m;j++) { if(s[i][j]=='@') { s[i][j]='*'; ans++; dfs(i,j); } } } printf("%d\n",ans); } return 0; }