/*
단지번호붙이기 dfs (정렬추가)
#include <stdio.h>
int n,map[26][26];
int danji[500]={},cnt=0;
void dfs(int x, int y)
{
if(x<0||y<0||x>=n||y>=n||map[x][y]==0) return ;
map[x][y]=0; //방문했다
danji[cnt]++;
//sum++;
dfs(x-1,y);
dfs(x+1,y);
dfs(x,y-1);
dfs(x,y+1);
}
int main(){
int i,j;
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n;j++){
scanf("%1d",&map[i][j]);
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(map[i][j]==1)//start
{
cnt++;
//sum=0;
dfs(i,j);
//if(sum>=3) cnt++;
}
}
}
//danji 정렬
printf("%d\n",cnt);
for(i=1;i<=cnt;i++)
printf("%d ",danji[i]);
}
dfs 8방향 char 4024
*/