#include <iostream>
#include <vector>
#include <map>

const int N = 400000 + 7;

int n;
std::vector<int> g[N];
int fa[N];
int h[N], q[N];
std::map<int, int> f[N];

void init(int s) {
	for (auto t : g[s]) if (t != fa[s]) fa[t] = s, init(t);
}
int get(int s, int y) {
	if (f[s].find(y) != f[s].end()) return f[s][y];
	int w = 1;
	for (auto t : g[s]) if (fa[t] == s && t <= y) w += get(t, y);
	return f[s][y] = w;
}
void dfs(int s) {
	h[s] = std::max(h[fa[s]], s);
	q[s] = q[fa[s]] + get(s, h[fa[s]]) - (s < h[fa[s]] && s < h[fa[fa[s]]]) * get(s, h[fa[fa[s]]]);
	for (auto t : g[s]) if (fa[t] == s) dfs(t);
}

int main() {
//	freopen("code.in", "r", stdin);
//	freopen("code.out", "w", stdout);

	scanf("%d", &n);
	for (int i = 1, u, v; i < n; ++i)
		scanf("%d%d", &u, &v), g[u].push_back(v), g[v].push_back(u);
	init(1), dfs(1);
	for (int i = 2; i <= n; ++i) printf("%d ", q[i] - 1);
	return 0;
}
