#include #include #include #include #include #include #include #include #include #include #include #define INF 1000000000ll #define MOD 1000000007ll #define EPS 1e-10 #define REP(i,m) for(long long i=0; i P; typedef long double ld; int main() { cin.tie(0); ios::sync_with_stdio(false); ll n; cin>>n; vector> adj(n); REP(i,n-1) { ll x,y; cin>>x>>y; --x; --y; adj[x].pb(y); adj[y].pb(x); } queue q; vector dir(n,INF); q.push(0); dir[0]=0; REP(i,n) if(i!=0&&(ll)adj[i].size()==1) { q.push(i); dir[i]=0; } while(!q.empty()) { ll p=q.front(); q.pop(); REP(i,(ll)adj[p].size()) { if(dir[adj[p][i]]==INF) { dir[adj[p][i]]=dir[p]+1; q.push(adj[p][i]); } } } REP(i,n) cout<