#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
const int mod = 998244353;
int f[N], n, ans;
vector<int> edge[N];
void dfs(int x, int fa = 0) {
  int p = 1;
  for (auto& y : edge[x]) {
    if (y == fa) continue;
    dfs(y, x);
    p = 499122177ll * p % mod * (1 + f[y]) % mod;
  }
  f[x] = (1 + mod - p) % mod;
  ans = (f[x] + ans) % mod;
  return;
}
int main() {
  scanf("%d", &n);
  for (int x, y, i = 1; i < n; i++) {
    scanf("%d%d", &x, &y);
    edge[x].push_back(y);
    edge[y].push_back(x);
  }
  dfs(1);
  for (int i = 1; i <= n; i++) ans = (ans << 1) % mod;
  printf("%d\n", ans);
  return 0;
}
