#include <iostream>
#include <cstring>
#include <map>
using namespace std;

int main()
{
	int n;
	int seq[16];
	int tmp[16];
	while(cin>>n,n){
		for(int i=0; i<n; i++)
			cin>>seq[i];
			
		int ans = 0;
		int k;
		do{
			map<int,int> mii;
			for(int i=0; i<n; i++)
				tmp[i] = seq[i];
			for(int i=0; i<n; i++)
				mii[seq[i]]++;
				
			for(int i=0; i<n; i++)
				seq[i] = mii[seq[i]];
			
			ans++;
			for(k=0; k<n && seq[k]==tmp[k]; k++)
				;
		}while( k!=n );
		
		printf("%d\n",ans-1);
		for(int i=0; i<n; i++){
			if( i==0 )
				printf("%d",seq[i]);
			else
				printf(" %d",seq[i]);
		}
		puts("");
	}
	return 0;
}