#include <cstdio>
#include <vector>

static const int N = 4000;

int n;
std::vector<int> g[N];
int cur;
int fs[2][N * 2], f[2][N * 2];
int ans[N];

void dfs(int a, int p, int x, int y) {
    y += a < cur ? -1 : 1;

    f[x][n + y]++;

    for (std::size_t i = 0; i < g[a].size(); i++) {
        int b = g[a][i];

        if (b == p)
            continue;

        dfs(b, a, 1 - x, y);
    }
}

void solve(int a) {
    cur = a;

    for (int i = 0; i < 2; i++)
        for (int j = 0; j < 2 * n; j++)
            fs[i][j] = 0;

    for (std::size_t i = 0; i < g[a].size(); i++)
    {
        for (int j = 0; j < 2; j++)
            for (int k = 0; k < 2 * n; k++)
                f[j][k] = 0;

        dfs(g[a][i], a, 1, 0);

        for (int j = 0; j < 2; j++)
            for (int k = 0; k < 2 * n; k++)
                ans[cur] += fs[j][k] * f[j][2 * n - k] * 2;

        ans[cur] += f[0][n] * 2;

        for (int j = 0; j < 2; j++)
            for (int k = 0; k < 2 * n; k++)
                fs[j][k] += f[j][k];
    }
}

int main() {
    freopen("input.txt", "rt", stdin);
    freopen("output.txt", "wt", stdout);

    scanf("%d", &n);

    for (int i = 1; i < n; i++) {
        int x, y;
        scanf("%d%d", &x, &y);
        x--, y--;
        g[x].push_back(y);
        g[y].push_back(x);
    }

    for (int i = 0; i < n; i++)
        solve(i);

    for (int i = 0; i < n; i++)
        printf("%d\n", ans[i]);

    return 0;
}
