#include <iostream>
#include <algorithm>
#include <cctype>
#include <cstdio>
#include <math.h>
#include <map>
#include <queue>
#include <string>
using namespace std;

int n,t,a[12],b[12],s[12];

int main(){
	while(cin>>n){
		if(n==0)return 0;
		for(int i=0;i<n;i++)cin>>a[i];
		t=0;
		while(1){
			for(int i=0;i<n;i++){b[i]=a[i];s[i]=0;}
			for(int i=0;i<n;i++)for(int j=0;j<n;j++)if(a[j]==a[i])s[i]++;
			for(int i=0;i<n;i++)a[i]=s[i];
			bool same=true;
			for(int i=0;i<n;i++)if(a[i]!=b[i])same=false;
			if(same){
				cout<<t<<endl;
				for(int i=0;i<n;i++){cout<<a[i];if(i!=n-1)cout<<" ";}
				cout<<endl;
				break;
			}
			t++;
		}
	}
}