#include <iostream>]
#include <math.h>
#include <algorithm>
#include <cstdio>
#include <map>
using namespace std;
#define ll long long
#define rep(i,n) for(ll i=0;i<n;i++)
int main()
{
  int n;
  while(true){
    cin>>n;
    if(n==0){break;}
    int *a=new int[n];
    map<int,int>Map;
    rep(i,n){
      cin>>a[i];
    }
    for(int cnt=0;;cnt++)
    {
      rep(i,n){
        Map[a[i]]++;
      }
      int *s=new int[a[i]];
      rep(i,n)
      {
        s[i]=Map[a[i]];
      }
      if(a==s)
      {
        cout<<cnt<<endl;
        rep(i,n){
          if(i!=0){
            cout<<" ";
          }
          cout<<a[i];
        }
        cout<<endl;
        break;
      }
      rep(i,n){
        s[i]=a[i];
      }
    }
  }
  return 0;
}

