#include <iostream>
using namespace std;
typedef long long ll;
char a;
struct zuobiao{
int x,y;
}q[101];
bool map[101][101],p[101][101];
int n,m;
int ans;
int c[4][2]={0,1,1,0,-1,0,0,-1};
void bfs(int x,int y){
ans++;
int f=0,r=1,X,Y;
q[1].x=x;
q[1].y=y;
while(f<r){
f++;
X=q[f].x,Y=q[f].y;
p[X][Y]=1;
for(int i=0;i<4;i++){
int xx=X+c[i][0];
int yy=Y+c[i][1];
if(map[xx][yy]&&(!p[xx][yy])){
q[++r].x=xx;
q[r].y=yy;
}
}
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a;
map[i][j]=(a!='0');
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(!p[i][j]&&map[i][j]){
bfs(i,j);
}
}
}
cout<<ans;
return 0;
}