#include<bits/stdc++.h>
using namespace std;
string s[105];
int vis[105][105];
int fx[4][4]={{1,0},{-1,0},{0,1},{0,-1}};
int m,n,ans=0;
int countt=0;
bool check(int x,int y)
{
if(x>=0 && x<m && y>=0 && y<n && s[x][y]-'0'!=0)return true;
return false;
}
void bfs(int x,int y)
{
queue<pair<int,int> >q;
q.push({x,y});
vis[x][y]=1;
while(!q.empty())
{
x=q.front().first,y=q.front().second;
for(int i=0;i<4;i++)
{
int xx=x+fx[i][0],yy=y+fx[i][1];
if(check(xx,yy)&&vis[xx][yy]==0)
{
q.push({xx,yy});
vis[xx][yy]=1;
}
}
q.pop();
}
}
signed main()
{
cin>>m>>n;
for(int i=0;i<m;i++)
{
cin>>s[i];
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
if(!vis[i][j] && s[i][j]-'0'!=0)
{
bfs(i,j);
ans++;
}
}
}
cout<<ans;
return 0;
}