#include <bits/stdc++.h>
using namespace std;
const int mod = 998244353, inv2 = 499122177;
inline int add(int a, int b) {
  if ((a += b) >= mod) a -= mod;
  return a;
}
inline int dec(int a, int b) {
  if ((a -= b) < 0) a += mod;
  return a;
}
inline int mult(int a, int b) {
  long long t = 1ll * a * b;
  if (t >= mod) t %= mod;
  return t;
}
int n;
vector<int> v[500010];
int f[500010], ans = 0;
void dfs(int np, int fath) {
  f[np] = 1;
  for (auto &x : v[np]) {
    if (x == fath) continue;
    dfs(x, np);
    f[np] = mult(f[np], add(dec(1, f[x]), mult(f[x], inv2)));
  }
  ans = add(ans, dec(1, f[np]));
}
int main() {
  scanf("%d", &n);
  for (int i = 1, ti, tj; i < n; i++) {
    scanf("%d%d", &ti, &tj);
    v[ti].push_back(tj);
    v[tj].push_back(ti);
  }
  dfs(1, 0);
  for (int i = 1; i <= n; i++) ans = add(ans, ans);
  printf("%d\n", ans);
  return 0;
}
