N = gets.to_i graph_rev = Array.new(N) { [] } (N - 1).times do u, v = gets.split.map { _1.to_i - 1 }.minmax graph_rev[v] << u end gyaku = Array.new(N, 0) (1 ... N).each do |i| max = 0 graph_rev[i].each do |j| max = [max, gyaku[j]].max end gyaku[i] = max + 1 end puts gyaku