#include <iostream>
#include <map>
#include <vector>
using namespace std;

int main() {
  int n;
  while(cin >> n && n) {
    vector<int> a(n);
    for(int i=0; i<n; i++) cin >> a[i];
    int cnt=0;
    while(1) {
      map<int,int> m;
      for(int i=0; i<n; i++) {
	m[a[i]]++;
      }
      bool ck=true;
      for(int i=0; i<n; i++) {
	if(a[i]!=m[a[i]]) ck=false;
	a[i]=m[a[i]];
      }
      if(ck) break;
      cnt++;
    }
    cout << cnt << endl;
    for(int i=0; i<n; i++) {
      if(i!=0) cout << " ";
      cout << a[i];
    }
    cout << endl;
  }
  return 0;
}
