#include <stdio.h>
int a[100][100]= {},g=0,o[100]= {};
int f(int i,int j,int k)
{
if(k==0)
{
return 0;
}
a[i][j]=0;
int x=1;
if(a[i-1][j]==k)
{
x+=f(i-1, j,k);
}
if(a[i+1][j]==k)
{
x+=f(i+1,j,k);
}
if(a[i][j-1]==k)
{
x+=f(i,j-1,k);
}
if(a[i][j+1]==k)
{
x+=f(i,j+1,k);
}
return x;
}
int main()
{
int i,j,s=0,n,c=0;
scanf("%d",&n);
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
{
scanf("%1d",&a[i][j]);
}
}
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
{
s=f(i,j,a[i][j]);
if(s!=0)
{
g++;
o[g]=s;
}
}
}
printf("%d\n",g);
for(i=1; i<=g; i++)
{
for(j=1; j<=g; j++)
{
if(o[j]<o[j+1])
{
c=o[j];
o[j]=o[j+1];
o[j+1]=c;
}
}
}
for(j=g; j>=1; j--)
{
printf("%d\n",o[j]);
}
return 0;
}