#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,dir[4][2]={{1,0},{0,-1},{0,1},{0,-1}},ans=0;
bool vis[1001][1001];
char asd[1001][1001];
void dfs(ll nowx, ll nowy){
vis[nowx][nowy]=1;
for(ll i=0;i<4;i++){
ll xx=nowx+dir[i][0],yy=nowy+dir[i][1];
if(xx<1||yy<1||xx>n||yy>m||vis[xx][yy]==1||asd[xx][yy]=='0')continue;
else{
vis[xx][yy]=1;
dfs(xx,yy);
}
}
}
int main(){
cin>>n>>m;
for(ll i=1;i<=n;i++){
for(ll j=1;j<=m;j++){
cin>>asd[i][j];
}
}
for(ll i=1;i<=n;i++){
for(ll j=1;j<=m;j++){
if(asd[i][j]!='0' && vis[i][j]==0){
dfs(i,j);
ans+=1;
}
}
}
cout<<ans;
return 0;
}
啊啊啊啊不知道哪里错了啊