/*#include <stdio.h>
int que[2][700]= {};
int rear=-1,front=-1;
int px,py,cnt=0;
//enqueue dequeue
int arr[27][27]= {},n;
int danji[500]= {};
int a=0;
void push(int x, int y)
{
// 범위에서 안나가고, 1이라면
if(x<=0 ||y<=0 ||x>n || y>n ||arr[x][y]!=1)
return ;
//방문체크
arr[x][y] = 0;
rear++;
que[0][rear]=x;
que[1][rear]=y;
}
void pop()
{
front++;
px = que[0][front];
py = que[1][front];
}
void bfs(int i, int j)
{
push(i,j);
while(rear!=front)
{
pop();
danji[cnt]++;
push(px-1,py);
push(px+1,py);
push(px,py-1);
push(px,py+1);
}
}
int main()
{
int temp;
scanf("%d",&n);
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
scanf("%1d",&arr[i][j]);
}
}
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
if(arr[i][j]==1)
{
cnt++;
bfs(i,j);
}
}
}
printf("%d\n",cnt);
// 정렬
for(int i=1; i<cnt; i++)
{
for(int j=1; j<=cnt-i; j++)
{
if (danji[j] > danji[j+1])
{
temp = danji[j];
danji[j] = danji[j+1];
danji[j+1] = temp;
}
}
}
for(int i=1; i<=cnt; i++)
printf("%d\n",danji[i]);
return 0;
}
*/
/*
#include <stdio.h>
int que[2][20000]= {},n;
int rear=-1,front=-1;
int arr[101][101]={};
int px,py;
int cnt=0,a;
void push(int x, int y)
{
if(x<=0 ||y<=0 ||x>n || y>n||arr[x][y]!=0)
return ;
arr[x][y]=cnt;
rear++;
que[0][rear]=x;
que[1][rear]=y;
//printf("push) x = %d y = %d front = %d rear = %d\n",x,y,front,rear);
}
void pop()
{
front++;
px = que[0][front];
py = que[1][front];
}
void bfs(int i, int j)
{
cnt=1;
push(i,j);
while(rear!=front)
{
cnt++;
int z = rear;
for(int i=front+1;i<=z;i++)
{
pop();
push(px-1,py);
push(px+1,py);
push(px,py-1);
push(px,py+1);
}
}
}
int main()
{
int i,j,x,y;
scanf("%d",&n);
scanf("%d %d",&x,&y);
bfs(x,y);
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}
*/
#include <stdio.h>
int que[2][2000000]= {},n,m;
int rear=-1,front=-1;
int arr[1001][1001]={};
int px,py;
int cnt=0,a;
void push(int x, int y)
{
if(x<=0 ||y<=0 ||x>n || y>n || arr[x][y]!=0)
return ;
arr[x][y]=1;
rear++;
que[0][rear]=x;
que[1][rear]=y;
}
void pop()
{
front++;
px = que[0][front];
py = que[1][front];
}
void bfs(int i,int j)
{
push(i,j);
while(front!=rear)
{
a=rear;
for(int i=front+1;i<=a;i++)
{
pop();
push(px-1,py);
push(px+1,py);
push(px,py-1);
push(px,py+1);
cnt++;
}
}
}
int main()
{
scanf("%d %d",&m,&n);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
scanf("%d",&arr[i][j]);
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(arr[i][j]==1)
{
push(i,j);
bfs(i,j);
}
}
}
printf("%d",cnt);
}