#include <deque>
#include <iostream>

using namespace std;

int main() {

	int n;

	while(cin >> n) {
		if(!n) {
			break;
		}

		deque<int> s;
		for(int i=0; i<n; i++) {
			int x;
			cin >> x;
			s.push_back(x);
		}
		int f=1, p=0;
		while(f) {
			for(int i=0; i<n; i++) {
				int c=1;
				for(int j=0; j<n; j++) {
					if(i!=j&&s[i]==s[j]) {
						c++;
					}
				}
				s.push_back(c);
			}
			for(int i=0; i<n-1; i++) {
				if(s[i]!=s[i+n]) {
					f=1;
					break;
				}
				f=0;
			}
			for(int i=0; i<n; i++) {
				s.pop_front();
			}
			p++;
		}
		p--;
		cout << p << endl << s[0];
		for(int i=1; i<n; i++) {
			cout << " " << s[i];
		}
		s.clear();

	}

	return 0;

}