#include<stdio.h>
#include<string>
#include<stdlib.h>
#include<math.h>
#include<iostream>
#include<vector>
#include<algorithm>
#include<numeric>
#include<string.h>
#include<map>

using namespace std;

typedef pair<int,int> pii;

#define rep(i,j) for(int i=0;i<(j);i++)
#define reps(i,j,k) for(int i=j;i<=k;i++)


int main(){
	int n,cnt,f;
	int d[12];
	map<int,int> s;
	for(;;){
		scanf("%d",&n);
		if(n==0)break;
		cnt=0;
		rep(i,n)scanf("%d",d+i);
		for(;;cnt++){
			s.clear();
			rep(i,n)s[d[i]]++;
			f=1;
			rep(i,n)if(s[d[i]]!=d[i])f=0;
			if(f)break;
			rep(i,n)d[i]=s[d[i]];
			//break;
		}
		printf("%d\n",cnt);
		rep(i,n)printf("%d%c",d[i],i==n-1?'\n':' ');
	}
	return 0;
}