func_code_string: #include <bits/stdc++.h>   using namespace std;   vector<int> e[300020];   int f[300020][3];   inline int Mod(int x) { return x + ((x >> 31) & 998244353); }   void DFS(int x, int p) {     int i, v;     f[x][0] = 1;     f[x][1] = 1;     f[x][2] = 1;     for (i = 0; i < (signed)e[x].size(); i++)       if ((v = e[x][i]) != p) {         DFS(v, x);         f[x][0] =             (long long)f[x][0] *             Mod(f[v][1] + 2 * Mod(f[v][0] + f[v][2] - 998244353) % 998244353 -                 998244353) %             998244353;         f[x][1] =             (long long)f[x][1] * Mod(f[v][0] + f[v][2] - 998244353) % 998244353;         f[x][2] = (long long)f[x][2] *                   Mod(2 * f[v][0] % 998244353 + f[v][2] - 998244353) % 998244353;       }     f[x][2] = Mod(f[x][2] - f[x][1]);     return;   }   int main(void) {     int n, u, v;     int i;     scanf( %d , &n);     for (i = 1; i < n; i++) {       scanf( %d %d , &u, &v);       e[--u].push_back(--v);       e[v].push_back(u);     }     DFS(0, 0);     printf( %d n , Mod(Mod(f[0][0] + f[0][2] - 998244353) - 1));     return 0;   }   