#include #include using namespace std; using namespace atcoder; using mint = modint998244353; using graph = vector>; int n; mint dfs(const graph &to, vector &sz, int v, int p) { mint res = 0; for (auto &&c : to.at(v)) { if (c == p) { continue; } res += dfs(to, sz, c, v); sz.at(v) += sz.at(c); res += mint(n) * (n - 1) / 2 - mint(sz.at(c)) * (n - sz.at(c)); } sz.at(v)++; return res; } int main() { cin >> n; graph to(n); for (int i = 0; i < n - 1; i++) { int u, v; cin >> u >> v; u--; v--; to.at(u).push_back(v); to.at(v).push_back(u); } vector sz(n); cout << (dfs(to, sz, 0, -1) / (mint(n) * (n - 1) * (n - 1) / 2)).val() << endl; return 0; }