#include<iostream>
#include<cstdio>
#include<map>

using namespace std;

int main(void){
	std::ios_base::sync_with_stdio();

	int n;
	int arr[12];
	int arr2[12];
	int cnt;
	map<int,int> ind;
	bool f;

	while(1){
		cin>>n;
		if(n==0) break;
		for(int i=0;i<n;i++){
			cin>>arr[i];
		}
		f=true;
		cnt=-1;
		while(f){
			cnt++;
			ind.clear();
			for(int i=0;i<n;i++){
				arr2[i]=arr[i];
			}
			for(int i=0;i<n;i++){
				ind[arr[i]]=0;
			}
			for(int i=0;i<n;i++){
				ind[arr[i]]++;
			}
			for(int i=0;i<n;i++){
				arr[i]=ind[arr[i]];
			}
			f=false;
			for(int i=0;i<n;i++){
				if(arr[i]!=arr2[i]) f=true;
			}
		}
		cout<<cnt<<endl;
		for(int i=0;i<n-1;i++){
			cout<<arr[i]<<" ";
		}
		cout<<arr[n-1]<<endl;
	}
	return 0;
}