#include <bits/stdc++.h>
using namespace std;
void executeTime() {
cerr << "Time Taken: " << (float)clock() / CLOCKS_PER_SEC << " secs";
}
int main() {
int n; cin >> n;
vector<vector<int>> mp(n + 1);
for (int i = 0; i < n - 1; i++) {
int u, v; cin >> u >> v;
mp[u].push_back(v);
mp[v].push_back(u);
}
vector<int> dp(n + 1);
function<void(int, int)> solve = [&](int src, int p) {
dp[src] = 1;
for (auto &v : mp[src]) {
if (v == p) continue;
solve(v, src);
dp[src] = max(dp[src], dp[v] + 1);
}
return;
};
solve(1, -1);
for (int i = 1; i <= n; i++) {
cout << dp[i] << endl;
}
executeTime();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIGV4ZWN1dGVUaW1lKCkgewogICAgY2VyciA8PCAiVGltZSBUYWtlbjogIiA8PCAoZmxvYXQpY2xvY2soKSAvIENMT0NLU19QRVJfU0VDIDw8ICIgc2VjcyI7Cn0KCmludCBtYWluKCkgewoKICAgIGludCBuOyBjaW4gPj4gbjsKCiAgICB2ZWN0b3I8dmVjdG9yPGludD4+IG1wKG4gKyAxKTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG4gLSAxOyBpKyspIHsKICAgICAgICBpbnQgdSwgdjsgY2luID4+IHUgPj4gdjsKCiAgICAgICAgbXBbdV0ucHVzaF9iYWNrKHYpOwogICAgICAgIG1wW3ZdLnB1c2hfYmFjayh1KTsKICAgIH0KCgogICAgdmVjdG9yPGludD4gZHAobiArIDEpOwoKICAgIGZ1bmN0aW9uPHZvaWQoaW50LCBpbnQpPiBzb2x2ZSA9IFsmXShpbnQgc3JjLCBpbnQgcCkgewoKICAgICAgICBkcFtzcmNdID0gMTsKCiAgICAgICAgZm9yIChhdXRvICZ2IDogbXBbc3JjXSkgewogICAgICAgICAgICBpZiAodiA9PSBwKSBjb250aW51ZTsKCiAgICAgICAgICAgIHNvbHZlKHYsIHNyYyk7CiAgICAgICAgICAgIGRwW3NyY10gPSBtYXgoZHBbc3JjXSwgZHBbdl0gKyAxKTsKICAgICAgICB9CgogICAgICAgIHJldHVybjsKICAgIH07CgogICAgc29sdmUoMSwgLTEpOwoKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgIGNvdXQgPDwgZHBbaV0gPDwgZW5kbDsKICAgIH0KCiAgICBleGVjdXRlVGltZSgpOwogICAgcmV0dXJuIDA7Cn0=