#include<iostream>
#include<map>

using namespace std;

int main() {
	map< int, int> l;
	int n, a[12], c;
	bool f;
	while(1) {
		cin >> n;
		if(!n) break;
		c = 0;
		for( int i=0; i<n; i++) cin >> a[i];
		while(1) {
			l.clear(); f = false;
			for( int i=0; i<n; i++) {
				if(l.count(a[i])==0) l[a[i]] = 1;
				else l[a[i]]++;
			}
			for( int i=0; i<n; i++) {
				if(a[i]!=l[a[i]]) { 
					a[i] = l[a[i]];
					f = true;
				}
			}
			if(!f) break;
			c++;
		}
		cout << c << endl;
		for( int i=0; i<n; i++) cout << a[i] << ( i==n-1 ? "" : " " );
		cout << endl;
	}
	return 0;
}