/*
#include <stdio.h>
int main()
{
int x1, x2, x3, x4, y1, y2, y3, y4;
scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
scanf("%d %d %d %d", &x3, &y3, &x4, &y4);
if((x1==x4&&(y1==y4||y2==y3))||(x2==x3&&(y2==y3||y4==y1)))
{
printf("POINT");
}
else if((x2==x3)||(x1==x4&&y4>=y1)||
(y2==y3)||(y1==y4&&x4>=x1))
{
printf("LINE");
}
else if(x2<x3||y2<y3||x1>x4||y1>y4)
{
printf("NULL");
}
else
{
printf("FACE");
}
return 0;
}
*/
/*
#include<stdio.h>
char arr[200][200]= {};
int n, h, sum=0;
void dfs(int k, int p)
{
if(k<1||p<1||p>n||k>h||arr[k][p]=='.')
{
return;
}
arr[k][p]='.';
dfs(k, p+1);
dfs(k, p-1);
dfs(k+1, p);
dfs(k-1, p);
dfs(k+1, p+1);
dfs(k+1, p-1);
dfs(k-1, p+1);
dfs(k-1, p-1);
}
int main()
{
int i, j;
scanf("%d %d", &n, &h);
for(i=1; i<=h; i++)
{
for(j=1; j<=n; j++)
{
scanf(" %c", &arr[i][j]);
}
}
for(i=1; i<=h; i++)
{
for(j=1; j<=n; j++)
{
if(arr[i][j]=='L')
{
dfs(i, j);
sum++;
}
}
}
printf("%d", sum);
return 0;
}
*/
//return있으면 좋은 문제
#include<stdio.h>
int arr[20][20]= {}, count[60]= {};
int n, sum=0;
int dfs(int k, int p)
{
count[sum]++;
printf("dfs(%d, %d)", k, p);
if(arr[k][p]==0||k<1||p<1||k>7||p>7)
{
return;
}
dfs(k+1, p);
dfs(k-1, p);
dfs(k, p+1);
dfs(k, p-1);
arr[k][p]=0;
}
int main()
{
int i, j;
for(i=1; i<=7; i++)
{
for(j=1; j<=7; j++)
{
scanf("%d ", &arr[i][j]);
}
}
for(i=1;i<=7;i++)
{
for(j=1;j<=7;j++)
{
dfs(i, j);
sum++;
}
}
for(i=0;i<sum;i++)
{
printf("%d ", count[i]);
}
return 0;
}



