#include <bits/stdc++.h>
using namespace std;
long long n, p, q, ans[200069], dsu[200069], sm[200069], szp, szq;
vector<long long> cc[200069];
const long long mo = 998244353;
void mrg(long long x, long long y)
{
y = cc[dsu[y]][0];
x = cc[dsu[x]][0];
while (cc[y].size())
{
ans[cc[y].back()] = (ans[cc[y].back()]+sm[y]-sm[x]+mo)%mo;
dsu[cc[y].back()] = x;
cc[x].push_back(cc[y].back());
cc[y].pop_back();
}
}
long long fe(long long x, long long y)
{
long long res = 1;
while (y)
{
if (y%2) res = (res*x)%mo;
x = (x*x)%mo;
y /= 2;
}
return res;
}
int main()
{
long long i;
scanf("%lld", &n);
for (i=1; i<=n; i++)
{
dsu[i] = i;
cc[i].push_back(i);
}
for (i=1; i<=n-1; i++)
{
scanf("%lld%lld", &p, &q);
szp = cc[dsu[p]].size();
szq = cc[dsu[q]].size();
printf("p = %lld q = %lld szp = %lld szq = %lld dsu[p] = %lld dsu[q] = %lld\n", p, q, szp, szq, dsu[p], dsu[q]);
if (szp<szq) swap(p, q);
(sm[dsu[p]] += szp*fe(szp+szq, mo-2)%mo) %= mo;
(sm[dsu[q]] += szq*fe(szp+szq, mo-2)%mo) %= mo;
mrg(p, q);
}
for (i=1; i<=n; i++) printf("%lld ", (ans[i]+sm[dsu[i]])%mo);
printf("\n");
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpsb25nIGxvbmcgbiwgcCwgcSwgYW5zWzIwMDA2OV0sIGRzdVsyMDAwNjldLCBzbVsyMDAwNjldLCBzenAsIHN6cTsKdmVjdG9yPGxvbmcgbG9uZz4gY2NbMjAwMDY5XTsKY29uc3QgbG9uZyBsb25nIG1vID0gOTk4MjQ0MzUzOwoKdm9pZCBtcmcobG9uZyBsb25nIHgsIGxvbmcgbG9uZyB5KQp7Cgl5ID0gY2NbZHN1W3ldXVswXTsKCXggPSBjY1tkc3VbeF1dWzBdOwoJd2hpbGUgKGNjW3ldLnNpemUoKSkKCXsKCQlhbnNbY2NbeV0uYmFjaygpXSA9IChhbnNbY2NbeV0uYmFjaygpXStzbVt5XS1zbVt4XSttbyklbW87CgkJZHN1W2NjW3ldLmJhY2soKV0gPSB4OwoJCWNjW3hdLnB1c2hfYmFjayhjY1t5XS5iYWNrKCkpOwoJCWNjW3ldLnBvcF9iYWNrKCk7Cgl9Cn0KCmxvbmcgbG9uZyBmZShsb25nIGxvbmcgeCwgbG9uZyBsb25nIHkpCnsKCWxvbmcgbG9uZyByZXMgPSAxOwoJd2hpbGUgKHkpCgl7CgkJaWYgKHklMikgcmVzID0gKHJlcyp4KSVtbzsKCQl4ID0gKHgqeCklbW87CgkJeSAvPSAyOwoJfQoJcmV0dXJuIHJlczsKfQoKaW50IG1haW4oKQp7Cglsb25nIGxvbmcgaTsKCXNjYW5mKCIlbGxkIiwgJm4pOwoJZm9yIChpPTE7IGk8PW47IGkrKykKCXsKCQlkc3VbaV0gPSBpOwoJCWNjW2ldLnB1c2hfYmFjayhpKTsKCX0KCWZvciAoaT0xOyBpPD1uLTE7IGkrKykKCXsKCQlzY2FuZigiJWxsZCVsbGQiLCAmcCwgJnEpOwoJCXN6cCA9IGNjW2RzdVtwXV0uc2l6ZSgpOwoJCXN6cSA9IGNjW2RzdVtxXV0uc2l6ZSgpOwoJCXByaW50ZigicCA9ICVsbGQgcSA9ICVsbGQgc3pwID0gJWxsZCBzenEgPSAlbGxkIGRzdVtwXSA9ICVsbGQgZHN1W3FdID0gJWxsZFxuIiwgcCwgcSwgc3pwLCBzenEsIGRzdVtwXSwgZHN1W3FdKTsKCQlpZiAoc3pwPHN6cSkgc3dhcChwLCBxKTsKCQkoc21bZHN1W3BdXSArPSBzenAqZmUoc3pwK3N6cSwgbW8tMiklbW8pICU9IG1vOwoJCShzbVtkc3VbcV1dICs9IHN6cSpmZShzenArc3pxLCBtby0yKSVtbykgJT0gbW87CgkJbXJnKHAsIHEpOwoJfQoJZm9yIChpPTE7IGk8PW47IGkrKykgcHJpbnRmKCIlbGxkICIsIChhbnNbaV0rc21bZHN1W2ldXSklbW8pOwoJcHJpbnRmKCJcbiIpOwp9