e=(0..n=gets.to_i).map{[]}.to_a;(n-1).times{|i|a,b=gets.split.map &:to_i;e[a]<<i;e[b]<<i};c=e.map(&:size).max;a=[0]*(n-1);(1..n).each{|v|u={};e[v].map{|j|u[a[j]]=1};t=1;e[v].map{|j|1>a[j]&&(t+=1until u[t].nil?;a[j]=t;t+=1)}};p c;a.map{|i|p i}