#include <stdio.h>
#include <iostream>
#include <string>

#define NUM 12

using namespace std;

void Change(const int s[], int c[], const int n) {
	for(int i = 0; i < n; i++) {
		c[i] = 0;
	}
	for(int i = 0; i < n; i++) {
		for(int k = 0; k < n; k++) {
			if(s[i] == s[k]) {
				c[i]++;
			}
		}
	}
}

int main() {
	while(1) {
		int s[NUM];
		int c[NUM];
		int n, count = 0;
		cin >> n;
		if(n == 0) break;
		for(int i = 0; i < n; i++) {
			cin >> s[i];
		}

		while(1) {
			Change(s, c, n);
			bool endflag = true;
			for(int i = 0; i < n; i++) {
				if(s[i] != c[i]) endflag = false;
			}
			if(endflag) break;
			else {
				count++;
				for(int i = 0; i < n; i++) {
					s[i] = c[i];
				}
			}
		}

		cout << count << endl;
		for(int i = 0; i < n; i++) {
			cout << s[i] << (i != n - 1 ? " " : "");
		}
		cout << endl;
	}
	return 0;
}