def count array
  d = Array.new(array.size, 0)
  0.upto(array.size - 1) do |i|
    0.upto(array.size - 1) do |j|
      d[i] += 1 if array[i] == array[j]
    end
  end
  d
end

while (n = $stdin.gets.to_i) > 0 do
  c = 0
  num = $stdin.gets.chomp.split(" ").map(&:to_i)
  loop do
    #分布を計測する
    array = count num;
    #前回の結果と比較して同じなら終了
    if num == array
      break
    end
    #カウントアップ
    c += 1
    #ベース配列を更新
    num = array
  end
  puts c
  puts num.join(' ')
end