#include <cstdio>
int n;
int dats[15]={};
int mat[100]={};
int main(void){
	int i,j,co;
	bool fl;
	while(1){
		scanf("%d",&n);
		if(n==0)break;
		for(i=0;i<n;i++){
			scanf("%d",&(dats[i]));
		}
		co=0;
		while(1){
			fl=true;
			for(i=0;i<100;i++)mat[i]=0;
			for(i=0;i<n;i++){
				mat[dats[i]]++;
			}
			for(i=0;i<n;i++){
				if(mat[dats[i]]!=dats[i]){
					fl=false;
					dats[i]=mat[dats[i]];
				}
			}
			if(fl)break;
			co++;
		}
		printf("%d\n",co);
		for(i=0;i<n-1;i++){
			printf("%d ",dats[i]);
		}
		printf("%d\n",dats[n-1]);
	}
	return 0;
}