#include <iostream>
#include <algorithm>
#include <vector>
#include <map>
using namespace std;

int main(){
	int n;
	while(cin>>n,n){
		vector<int> v(n);
		for(int i=0;i<n;i++){
			cin>>v[i];
		}
		int ans=0;
		while(1){
			map<int,int> ma;
			for(int i=0;i<n;i++){
				ma[v[i]]++;
			}
			vector<int> tmp(n);
			for(int i=0;i<n;i++){
				tmp[i]=ma[v[i]];
			}
			bool f=true;
			for(int i=0;i<n;i++){
				if(tmp[i]!=v[i]){
					f=false;
					ans++;
					break;
				}
			}
			if(f){
				cout<<ans<<endl;
				for(int i=0;i<n;i++){
					if(i) cout<<" ";
					cout<<v[i];
				}
				cout<<endl;
				break;
			}
			v=tmp;
		}
	}
}