#include<bits/stdc++.h>
using namespace std;constint maxn =100+5;char pic[maxn][maxn];//装字符的二维数组int m , n , idx[maxn][maxn];//标记已经访问过的 voiddfs(int r,int c,int id){if(r <0|| r >= m || c <0|| c >= m)return;if(pic[r][c]!='@'|| idx[r][c]!=0)return;
idx[r][c]= id;for(int dr =-1; dr >=1; dr++){//与周围相邻的比较for(int dc =-1; dc >=1; dc++){if(dr !=0|| dc !=0){dfs(dr+r , dc+c , id);//递归}}}}intmain(){
cin >> m >> n;for(int i =0; i < m; i++){
cin >> pic[i];//输入每一层的字符 }memset(idx ,0,sizeof(idx));int cnt =0;for(int i =0; i < m; i++){for(int j =0; j < n; j++){if(idx[i][j]==0&& pic[i][j]=='@'){dfs(i , j ,++cnt);}}}
cout << cnt << endl;}/*
5 3
****@
*@@*@
*@**@
@@@*@
@@**@
*/