#include<bits/stdc++.h>
using namespace std;
struct q
{
int x;
int y;
};
typedef struct q z;
z e1,e2;
int n,m,cuntu[2000][2000],st[2000][2000],dx[5]={0,0,0,-1,1},dy[5]={0,1,-1,0,0},ans;
queue<z>p;
void bfs(int x,int y)
{
ans++;
e1.x=x; e1.y=y;
p.push(e1);
st[x][y]=1;
while(!p.empty())
{
e2=p.front();
p.pop();
int l,r;
for(int i=1;i<=4;i++)
{
l=e2.x+dx[i];
r=e2.y+dy[i];
if(st[l][r]==0&&cuntu[x][y]&&l>=1&&l<=n&&r>=1&&r<=m)
{
e2.x=l; e2.y=r;
p.push(e2);
st[l][r]=1;
}
}
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
scanf("%1d",&cuntu[i][j]);
}
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
if(st[i][j]==0&&cuntu[i][j])
bfs(i,j);
}
cout<<ans;
return 0;
}