#include<bits/stdc++.h>
using namespace std;
const int maxn=10000;
string a[maxn+10];
int ans;
struct node{
int x,y;
}que[maxn+10];
int tail,top;
int n,m;
int bx[4]={-1,0,1,0};
int by[4]={0,1,0,-1};
node b;
int xx,yy;
int main(){
cin>>n>>m;
for(int i=0;i<n;i++) cin>>a[i]; 输入
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(a[i][j]>='1' && a[i][j]<='9'){
ans++; 判断是不是细胞
tail=0;
top=0;
b.x=i; 存下表
b.y=j;
a[i][j]='0'; 复制为0
que[++tail]=b;
while(tail>top){
b=que[++top];
for(int k=0;k<4;k++){
int xx=b.x+bx[k];
int yy =b.y+by[k];
if(xx<0||xx>n-1||yy<0||yy>m-1||a[xx][yy]=='0') continue;
b.x=xx; 超出范围continue;
b.y=yy;
a[xx][yy]='0';
que[++tail]=b;
}
}
}
}
}
cout<<ans;
}