#include <stdio.h>

int main(){
	int n,in[12],out[12],i,j,t,r,flag;
	
	while(~scanf("%d",&n)){
		if(n==0)break;

		t=0;
		
		for(i=0;i<n;i++){
			scanf("%d",&in[i]);
		}
		flag=1;
		while(flag){
			for(i=0;i<n;i++)out[i]=0;
			for(i=0;i<n;i++){
				for(j=0;j<n;j++){
					if(in[i]==in[j])++out[i];
				}
			}
			
			++t;
			flag=0;
			for(i=0;i<n;i++){
				if(in[i]!=out[i])flag=1;
			}
			
			for(i=0;i<n;i++){
				in[i]=out[i];
			}
		}
		printf("%d\n",t-1);
		for(i=0;i<n-1;i++){
			printf("%d ",in[i]);
		}
		printf("%d\n",in[n-1]);
	}
	return 0;
}