#include <iostream>
#include <stdio.h>

using namespace std;

int main(){
	int n[12],N,p[12],pc[12],pp[12],t,c=0,flg;

	while(1){
		cin >> N;

		if(N==0)break;

		for(int i=0;i<N;i++){
			cin >> n[i];
		}

		while(1){
			c++;
			flg=0;

			//initialize counter
			for(int j=0;j<N;j++){
				pc[j] = 0;
			}

			//count
			for(int i=0;i<N;i++){
				//pick up
				t = n[i];

				for(int j=0;j<N;j++){
					if(t==n[j]){
						pc[i]++;
					}
				}
			}

			//make p[]
			for(int i=0;i<N;i++){
				n[i] = pc[i];
			}

			//judge
			for(int i=0;i<N;i++){
				if(n[i]!=pp[i]){
					flg=1;
				}
			}

			//make pp[]
			for(int i=0;i<N;i++){
				pp[i] = n[i];
			}

			//if made p[]
			if(flg==0){
				break;
			}
		}

		c--;

		cout << c << endl;
		for(int i=0;i<N-1;i++){
			cout << pp[i] << " ";
		}
		cout << pp[N-1] << endl;

		c=0;
	}

	return 0;
}