/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
static void dfs(int node,List<List<Integer>> adj, int visited[], int parent[], int height[])
{
visited[node]=1;
for(int ele:adj.get(node))
{
if(visited[ele]==0)
{
parent[ele]=node;
dfs(ele,adj,visited,parent,height);
}
}
int h=0;
for(int ele:adj.get(node))
{
if(ele!=parent[node])
{
h
=Math.
max(h,height
[ele
]); }
}
height[node]=h+1;
}
{
// your code goes here
Scanner sc
=new Scanner
(System.
in); int n=sc.nextInt();
List<List<Integer>> adj=new ArrayList<>();
int height[]=new int[n+1];
int parent[]=new int[n+1];
int visited[]=new int[n+1];
for(int i=0;i<=n;i++)
adj.add(new ArrayList<>());
for(int i=1;i<n;i++)
{
int u=sc.nextInt();
int v=sc.nextInt();
adj.get(u).add(v);
adj.get(v).add(u);
}
dfs(1,adj,visited,parent,height);
for(int i=1;i<=n;i++)
System.
out.
print(height
[i
]+" ");
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXN0YXRpYyB2b2lkIGRmcyhpbnQgbm9kZSxMaXN0PExpc3Q8SW50ZWdlcj4+IGFkaiwgaW50IHZpc2l0ZWRbXSwgaW50IHBhcmVudFtdLCBpbnQgaGVpZ2h0W10pCgl7CgkJdmlzaXRlZFtub2RlXT0xOwoJCWZvcihpbnQgZWxlOmFkai5nZXQobm9kZSkpCgkJewoJCQlpZih2aXNpdGVkW2VsZV09PTApCgkJCXsKCQkJCXBhcmVudFtlbGVdPW5vZGU7CgkJCQlkZnMoZWxlLGFkaix2aXNpdGVkLHBhcmVudCxoZWlnaHQpOwoJCQl9CgkJfQoJCQoJCQoJCWludCBoPTA7CgkJZm9yKGludCBlbGU6YWRqLmdldChub2RlKSkKCQl7CgkJCWlmKGVsZSE9cGFyZW50W25vZGVdKQoJCQl7CgkJCQloPU1hdGgubWF4KGgsaGVpZ2h0W2VsZV0pOwoJCQl9CgkJfQoJCWhlaWdodFtub2RlXT1oKzE7Cgl9CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgkJU2Nhbm5lciBzYz1uZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwoJCWludCBuPXNjLm5leHRJbnQoKTsKCSAgIExpc3Q8TGlzdDxJbnRlZ2VyPj4gYWRqPW5ldyBBcnJheUxpc3Q8PigpOwoJICAgaW50IGhlaWdodFtdPW5ldyBpbnRbbisxXTsKCSAgIGludCBwYXJlbnRbXT1uZXcgaW50W24rMV07CgkgICBpbnQgdmlzaXRlZFtdPW5ldyBpbnRbbisxXTsKCSAgIAoJICAgZm9yKGludCBpPTA7aTw9bjtpKyspCgkgICBhZGouYWRkKG5ldyBBcnJheUxpc3Q8PigpKTsKCSAgIAoJICAgCgkgICBmb3IoaW50IGk9MTtpPG47aSsrKQoJICAgewoJICAgCWludCB1PXNjLm5leHRJbnQoKTsKCSAgIAlpbnQgdj1zYy5uZXh0SW50KCk7CgkgICAJYWRqLmdldCh1KS5hZGQodik7CgkgICAJYWRqLmdldCh2KS5hZGQodSk7CgkgICAJCgkgICB9CgkgICAKCSAgIGRmcygxLGFkaix2aXNpdGVkLHBhcmVudCxoZWlnaHQpOwoJICAgCgkgICBmb3IoaW50IGk9MTtpPD1uO2krKykKCSAgIFN5c3RlbS5vdXQucHJpbnQoaGVpZ2h0W2ldKyIgIik7CgkJCgl9Cn0=