// UUID: 590964de-e9dc-40c1-a136-e940757561a6
#include <bits/stdc++.h>
using namespace std;
void dfs1(int i, int l, vector<vector<int>> & g, vector<int> & x) {
int maxi = 0, sum = 1;
for (int j : g[i]) {
if (j == l) continue;
dfs1(j, i, g, x);
maxi = max(maxi, x[j]);
sum += x[j];
}
x[i] = sum - maxi;
}
void dfs2(int i, int l, vector<vector<int>> & g, vector<int> & x, vector<int> & y, vector<int> & z) {
int max1 = 200000, max2 = 200000, sum = 1 + y[i];
for (int j : g[i]) {
if (j == l) continue;
if (x[j] > x[max1]) {
max2 = max1;
max1 = j;
} else if (x[j] > x[max2]) max2 = j;
sum += x[j];
}
z[i] = sum - max(x[max1], y[i]);
for (int j : g[i]) {
if (j == l) continue;
int maxi = x[max1];
if (j == max1) maxi = x[max2];
if (y[i] > maxi) maxi = y[i];
y[j] = sum - maxi - x[j];
dfs2(j, i, g, x, y, z);
}
}
int main() {
int n;
cin >> n;
vector<vector<int>> g(n);
for (int i = 0; i < n - 1; i++) {
int a, b;
cin >> a >> b;
g[a].push_back(b);
g[b].push_back(a);
}
vector<int> x(200001), y(n), z(n);
dfs1(0, -1, g, x);
dfs2(0, -1, g, x, y, z);
for (int a : z) cout << a << " ";
}