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

using namespace std;

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

	cin >> N;
	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;
		}
	}

	cin >> t;

	c--;

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

	return 0;
}