#include #define syosu(x) fixed< P; typedef pair pdd; typedef pair pll; typedef vector vi; typedef vector vvi; typedef vector vd; typedef vector vvd; typedef vector vl; typedef vector vvl; typedef vector vs; typedef vector

vp; typedef vector vvp; typedef vector vpll; typedef pair pip; typedef vector vip; const int inf=1<<30; const ll INF=1ll<<60; const double pi=acos(-1); const double eps=1e-8; const ll mod=1e9+7; const int dx[4]={-1,0,1,0},dy[4]={0,-1,0,1}; int n; vvi g; vi a; int dfs(int v,int d,int p){ int t=(g[v].size()>1?inf:0); for(auto u:g[v]) if(u!=p) t=min(t,dfs(u,d+1,v)); a[v]=min(d,t); return t+1; } int main(){ cin>>n; g=vvi(n); a=vi(n); for(int i=1;i>u>>v; u--;v--; g[u].push_back(v); g[v].push_back(u); } dfs(0,0,-1); for(auto i:a) cout<