//@memset.DP.-1
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
//--------------------------------WRITE_HERE-------------------------------------------
vector<int>g[200000+1];
vector<int>subtree_size(200000+1);
vector<ll>cost(200000+1);
vector<ll>res(200000+1);
void preCalc(int node, int p)
{ subtree_size[node]=1;
cost[node]=0;
for(int &c:g[node]){
if(c!=p){
preCalc(c,node);
subtree_size[node] += subtree_size[c];
cost[node] += (cost[c]+subtree_size[c]);
}
}
}
void dfs(int node,int p){
res[node]=cost[node];
for(int &c:g[node]){
if(c!=p){
cost[node] -= (cost[c]+subtree_size[c]);
subtree_size[node] -= subtree_size[c];
cost[c] += (cost[node]+subtree_size[node]);
subtree_size[c] += subtree_size[node];
dfs(c, node);
cost[c] -= (cost[node] + subtree_size[node]);
subtree_size[c] -= subtree_size[node];
cost[node] += (cost[c] + subtree_size[c]);
subtree_size[node] += subtree_size[c];
}
}
}
void _144()
{
int n;cin>>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);
}
preCalc(1,-1);
dfs(1,-1);
for(int i=1;i<=n;i++) cout<<res[i]<<" ";
return;
}
//--------------------------------END--------------------------------------------------
// Main
int main()
{
//freopen("input.in", "r",stdin);
//freopen("output.out", "w",stdout);
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
ll t = 1;
// cin >> t;
while (t--)
{
_144();
}
}
Ly9AbWVtc2V0LkRQLi0xCiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp1c2luZyBsbCA9IGxvbmcgbG9uZzsKIAovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tV1JJVEVfSEVSRS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAp2ZWN0b3I8aW50PmdbMjAwMDAwKzFdOwp2ZWN0b3I8aW50PnN1YnRyZWVfc2l6ZSgyMDAwMDArMSk7CnZlY3RvcjxsbD5jb3N0KDIwMDAwMCsxKTsKdmVjdG9yPGxsPnJlcygyMDAwMDArMSk7CiAKdm9pZCBwcmVDYWxjKGludCBub2RlLCBpbnQgcCkKeyAgIHN1YnRyZWVfc2l6ZVtub2RlXT0xOwogICAgY29zdFtub2RlXT0wOwogCiAgICBmb3IoaW50ICZjOmdbbm9kZV0pewogICAgICAgIGlmKGMhPXApewogICAgICAgICAgICBwcmVDYWxjKGMsbm9kZSk7CiAgICAgICAgICAgIHN1YnRyZWVfc2l6ZVtub2RlXSArPSBzdWJ0cmVlX3NpemVbY107CiAgICAgICAgICAgIGNvc3Rbbm9kZV0gKz0gKGNvc3RbY10rc3VidHJlZV9zaXplW2NdKTsKICAgICAgICB9CiAgICB9Cn0KIAp2b2lkIGRmcyhpbnQgbm9kZSxpbnQgcCl7CiAgICByZXNbbm9kZV09Y29zdFtub2RlXTsKIAogICAgZm9yKGludCAmYzpnW25vZGVdKXsKICAgICAgICBpZihjIT1wKXsKICAgICAgICAgICAgY29zdFtub2RlXSAtPSAoY29zdFtjXStzdWJ0cmVlX3NpemVbY10pOwogICAgICAgICAgICBzdWJ0cmVlX3NpemVbbm9kZV0gLT0gc3VidHJlZV9zaXplW2NdOwogCiAgICAgICAgICAgIGNvc3RbY10gKz0gKGNvc3Rbbm9kZV0rc3VidHJlZV9zaXplW25vZGVdKTsKICAgICAgICAgICAgc3VidHJlZV9zaXplW2NdICs9IHN1YnRyZWVfc2l6ZVtub2RlXTsKIAogICAgICAgICAgICBkZnMoYywgbm9kZSk7CiAKICAgICAgICAgICAgY29zdFtjXSAtPSAoY29zdFtub2RlXSArIHN1YnRyZWVfc2l6ZVtub2RlXSk7CiAgICAgICAgICAgIHN1YnRyZWVfc2l6ZVtjXSAtPSBzdWJ0cmVlX3NpemVbbm9kZV07CiAKICAgICAgICAgICAgY29zdFtub2RlXSArPSAoY29zdFtjXSArIHN1YnRyZWVfc2l6ZVtjXSk7CiAgICAgICAgICAgIHN1YnRyZWVfc2l6ZVtub2RlXSArPSBzdWJ0cmVlX3NpemVbY107CiAgICAgICAgfQogICAgfQp9CiAKdm9pZCBfMTQ0KCkKewogICAgaW50IG47Y2luPj5uOwogCiAgICBmb3IoaW50IGk9MDtpPG4tMTtpKyspewogICAgICAgIGludCBhLGI7Y2luPj5hPj5iOwogICAgICAgIGdbYV0ucHVzaF9iYWNrKGIpOwogICAgICAgIGdbYl0ucHVzaF9iYWNrKGEpOwogICAgfQogCiAgICBwcmVDYWxjKDEsLTEpOwogICAgZGZzKDEsLTEpOwogCiAgICBmb3IoaW50IGk9MTtpPD1uO2krKykgY291dDw8cmVzW2ldPDwiICI7CiAgICByZXR1cm47Cn0KIAovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tRU5ELS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAovLyBNYWluCmludCBtYWluKCkKewovL2ZyZW9wZW4oImlucHV0LmluIiwgInIiLHN0ZGluKTsKLy9mcmVvcGVuKCJvdXRwdXQub3V0IiwgInciLHN0ZG91dCk7CiAKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIGNvdXQudGllKE5VTEwpOwogCiAgICBsbCB0ID0gMTsKICAgIC8vIGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkKICAgIHsKICAgICAgICBfMTQ0KCk7CiAgICB9Cn0=