#include<iostream>

using namespace std;

int main()
{
	int a,n,i,j;
	
	for(;;)
	{
		cin >> n ;
		if(n==0)
			break;
		
		int array[20]={0};
		int array2[20]={0};
		int num[20]={0};
		int conv[20]={0};
		
		for(i=1;i<n+1;i++)
		{
			cin >> a ;
			array[a]++;
			num[i]=array2[i]=a;
		}
		
		for(j=0;;j++)
		{
			for(i=1;i<13;i++)
				conv[i]=0;
				
			for(i=1;i<13;i++)
			{
/*////////////////////////////////////////////////////////
			for(int ci=1;ci<13;ci++)
			{
				cout << num[ci] << " " ;
			}
				cout << endl;
			for(int ki=1;ki<13;ki++)
			{
				cout << array[ki] << " " ;
			}
				cout << endl;
				cout << endl;
////////////////////////////////////////////////////////*/
				if(array[i]!=0)
				{
					for(int k=1;k<13;k++)
					{
						if(num[k]==i && conv[k]==0)
						{
							num[k]=array[i];
							conv[k]=1;
						}
					}
					array[i]=0;
				}
			}
			for(i=1;i<13;i++)
			{
				array[num[i]]++;
			}
			
			for(i=1;i<13;i++)
			{
				if(array2[i]!=num[i])
					break;
			}
			if(i==13)
				break;
			
			for(i=1;i<13;i++)
				array2[i]=num[i];
			
		}
		cout << j << endl;
		
		int first=1;
		
		for(i=1;i<13;i++)
		{
			
			if(num[i]!=0 && first==1)
			{
				cout << num[i] ;
				first=0;
			}
			else if(num[i]!=0)
				cout << " " << num[i] ;
		}
		cout << endl;
	}
}