#include <iostream>
#define MAX_N 15
using namespace std;
int n,m=0,cnt,flag,change=0;
int s[MAX_N],p[MAX_N];

int main(){
	while(1){
		cin >> n;
		if(n==0)break;
		m=0;
		while(m!=n){
			cin >> s[m];
			m++;
		}
		change=0;
		while(1){
			for(int i=0;i<n;i++){
				cnt=0;
				for(int j=0;j<n;j++){
					if(s[i]==s[j])cnt++;
				}
				p[i]=cnt;
			}
			flag=0;
			for(int i=0;i<n;i++){
				if(s[i]==p[i])flag++;
				s[i]=p[i];
			}
			if(flag==n)break;
			change++;
		}
		cout <<change <<endl;
		for(int i=0;i<n-1;i++){
			cout << s[i]<<" ";
		}
		cout <<s[n-1]<<endl;
	}
	return 0;
}