/*
#include <stdio.h>
int n,v=0,z,a=0,t,b=1,m,c=2;
int arr[101][101]={};
int queue[2][101]={};
int front=-1;
int back=-1;
int danji[500]={};
int px, py;
void bfs(int x, int y)
{
push(x,y);
while(front != back)
{
pop();
if(arr[px][py+1]==1) push(px,py+1);
if(arr[px+1][py]==1) push(px+1,py);
if(arr[px][py-1]==1) push(px,py-1);
if(arr[px-1][py]==1) push(px-1,py);
}
}
void push(int x,int y)
{
arr[x][y]=0;
back++;
queue[0][back] = x;
queue[1][back] = y;
}
void pop()
{//
if(front==back) //큐가 비어있다면
{
return ;
}
front++;
px = queue[0][front];
py = queue[1][front];
}
int main()
{
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++)
//{
//printf("%d",arr[i][j]);
//}
//printf("\n");
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
if(arr[i][j]==1)
{
bfs(i,j);
printf("%d %d\n",i,j);
a++;
}
}
}
for(int i=1; i<a; i++)
{
for(int j=1; j<=a-i; j++)
{
if(danji[j] > danji[j+1])
{
t=danji[j];
danji[j]=danji[j+1];
danji[j+1]=t;
}
}
}
printf("%d\n",a);
//for(int i=1; i<=a; i++)
//{
//printf("%d\n",danji[i]);
//}
return 0;
}
*/
#include <stdio.h>
int arr[27][27]={};
int a=0,n,t,m=0;
int px,py;
int queue[2][1000]={};
int front=-1;
int back=-1;
int danji[101]={};
void push(int x,int y)
{
m++;
arr[x][y]=0;
back++;
queue[0][back]=x;
queue[1][back]=y;
}
void bfs(int x,int y)
{
push(x,y);
while (front!=back)
{
pop();
if(arr[px][py-1]==1) {
push(px,py-1);
}
if(arr[px][py+1]==1){
push(px,py+1);
}
if(arr[px-1][py]==1){
push(px-1,py);
}
if(arr[px+1][py]==1){
push(px+1,py);
}
}
}
void pop()
{
if(front==back)
{
return ;
}
front ++ ;
px = queue[0][front];
py = queue[1][front];
}
int main()
{
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)
{
bfs(i,j);
a++;
danji[a] = m;
}
}
}
printf("a : %d\n",a);
printf("m : %d\n",m);
for(int i=1; i<n; i++)
{
for(int j=1; j<=n-i; j++)
{
if(danji[j]>danji[j+1])
{
t=danji[j];
danji[j]=danji[j+1];
danji[j+1]=t;
}
}
}
for(int i = 1; i <= a; i++)
{
printf("단지 : %d\n",danji[i]);
}
return 0;
}