n,m=map(int,input().split())
juzhen=[[0]*(m+1) for _ in range(n+1)]
for j in range(1,n+1):
a=list(map(int,input()))
a.insert(0,0)
for k in range(1,m+1):
juzhen[j][k]=a[k]
flag=[[1]*(m+1) for _ in range(n+1)]
for j in range(1,n+1):
for k in range(1,m+1):
if juzhen[j][k]==0:
flag[j][k]=0
xiabiao=[[0]*(m+1) for _ in range(n+1)]
def bfs(x,y,idx):
global n,m
if 0<x<=n and 0<y<=m and flag[x][y]!=0:
flag[x][y]=0
xiabiao[x][y]=idx
lst1=[0,0,-1,1]
lst2=[-1,1,0,0]
for i in range(4):
bfs(x+lst1[i],y+lst2[i],idx+1)
else:
return
for j in range(1,n+1):
for k in range(1,m+1):
bfs(j,k,1)
ans=0
for j in range(1,n+1):
for k in range(1,m+1):
if xiabiao[j][k]==1:
ans+=1
print(ans)