/*
#include <stdio.h>
int q[1000]={},b=-1,f=-1,arr[100][100]={},c=1,cnt=0,sum=0,a[1001]={};
void view()
{
printf("\n");
for(int i=f+1;i<=b;i++)
{
printf("%d ", q[i]);
}
printf("\n");
}
void push(int i, int j)
{
sum++;
b++;
q[b]=i*100+j;
arr[i][j]=0;
}
int pop()
{
f++;
return q[f];
}
void bfs()
{
while(b!=f)
{
int x = pop();
int i = x/100;
int j = x%100;
if(arr[i+1][j]==1)
{
push(i+1,j);
}
if(arr[i-1][j]==1)
{
push(i-1,j);
}
if(arr[i][j+1]==1)
{
push(i,j+1);
}
if(arr[i][j-1]==1)
{
push(i,j-1);
}
}
}
int main()
{
int n,i,j;
scanf("%d", &n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
scanf("%1d", &arr[i][j]);
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if (arr[i][j]==1)
{
sum=0;
push(i,j);
c++;
bfs();
a[c]=sum;
cnt++;
}
}
}
printf("%d\n", cnt);
int tmp,min;
for(i=1;i<=c;i++)
{
min=i;
for(j=i+1;j<=c;j++)
{
if (a[min]>a[j])
{
min=j;
}
}
tmp=a[min];
a[min]=a[i];
a[i]=tmp;
}
for(i=2;i<=c;i++)
{
printf("%d\n", a[i]);
}
return 0;
}
*/