#include <bits/stdc++.h>
using namespace std;
int n;
vector<int> g[500050];
int sz[500050];
void calc_sz(int u, int pa = 0) {
  sz[u] = 1;
  for (int v : g[u]) {
    if (v == pa) continue;
    calc_sz(v, u);
    sz[u] += sz[v];
  }
}
int p[500050];
const int mod = 998244353;
int s[500050], a[500050];
void dfs(int u, int pa = 0) {
  a[u] = 1;
  for (int v : g[u]) {
    if (v == pa) continue;
    dfs(v, u);
    s[u] = (s[u] + 1ll * s[v] * p[sz[u] - sz[v]]) % mod;
    a[u] = 1ll * a[u] * (a[v] + p[sz[v] - 1]) % mod;
  }
  a[u] = (p[sz[u] - 1] - a[u]) % mod;
  s[u] = (s[u] + a[u]) % mod;
}
int main() {
  cin >> n;
  p[0] = 1;
  for (int i = 1; i <= n; i++) p[i] = 2 * p[i - 1] % mod;
  for (int i = 1, x, y; i < n; i++) {
    scanf("%d%d", &x, &y);
    g[x].push_back(y);
    g[y].push_back(x);
  }
  calc_sz(1);
  dfs(1);
  if (s[1] < 0) s[1] += mod;
  s[1] = 2 * s[1] % mod;
  cout << s[1];
}
