func_code_string: #include <bits/stdc++.h>   using namespace std;   const int MOD = 998244353;   int sum(int a, int b) { return (a + b) % MOD; }   int prod(int a, int b) { return a * 1ll * b % MOD; }   int mpow(int b, int e) {     if (e == 0) return 1;     if (e & 1) return prod(b, mpow(b, e - 1));     return mpow(prod(b, b), e / 2);   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(0), cout.tie(0);     cout << fixed << setprecision(15);     const int HALF = mpow(2, MOD - 2);     int N;     cin >> N;     vector<vector<int> > adj(N);     for (int i = 0; i < N - 1; i++) {       int u, v;       cin >> u >> v;       adj[u - 1].push_back(v - 1);       adj[v - 1].push_back(u - 1);     }     int ans = 0;     function<int(int, int)> calc = [&](int loc, int par) {       int nm = 1;       for (int nbr : adj[loc]) {         if (nbr == par) continue;         int unv = calc(nbr, loc);         unv = sum(unv, prod(HALF, sum(1, MOD - unv)));         nm = prod(nm, unv);       }       nm = sum(1, MOD - nm);       ans = sum(ans, nm);       return nm;     };     calc(0, 0);     for (int i = 0; i < N; i++) ans = prod(ans, 2);     cout << ans << endl;     return 0;   }   