#include <bits/stdc++.h>
using namespace std;
int n;
int M = 0, fst[1234567], vb[1234567], nxt[1234567];
void ad_de(int a, int b) {
  ++M;
  nxt[M] = fst[a];
  fst[a] = M;
  vb[M] = b;
}
void adde(int a, int b) {
  ad_de(a, b);
  ad_de(b, a);
}
const int MOD = 998244353;
const int r2 = (MOD + 1) / 2;
long long f[1234567], g[1234567];
void dfs(int x, int fa = 0) {
  g[x] = 1;
  for (int e = fst[x], b = vb[e]; e; e = nxt[e], b = vb[e])
    if (b != fa) {
      dfs(b, x);
      g[x] = g[x] * (1 + g[b]) % MOD * r2 % MOD;
      (f[x] += (f[b] + g[b]) * r2) %= MOD;
    }
  g[x] = 1 - g[x];
}
int main() {
  scanf("%d", &n);
  for (int i = 1, a, b; i < n; ++i) scanf("%d%d", &a, &b), adde(a, b);
  dfs(1);
  long long ans = g[1] + f[1];
  for (int i = 2; i <= n; ++i) ans += (g[i] + f[i]) * r2, ans %= MOD;
  for (int i = 1; i <= n; ++i) ans *= 2, ans %= MOD;
  ans = (ans % MOD + MOD) % MOD;
  cout << ans << "\n";
}
