#include <bits/stdc++.h>
using namespace std;
const int MOD = (int)1e9 + 7;
int add(int x, int y) {
  x += y;
  if (x >= MOD) return x - MOD;
  return x;
}
int mult(int x, int y) { return ((long long)x * y) % MOD; }
const int N = (int)1e6 + 10;
int n;
int deg[N];
int main() {
  scanf("%d", &n);
  for (int i = 1; i < n; i++) {
    int v, u;
    scanf("%d%d", &v, &u);
    v--;
    u--;
    deg[v]++;
    deg[u]++;
  }
  int L = 0;
  for (int i = 0; i < n; i++)
    if (deg[i] == 1) L++;
  int p = 1;
  for (int i = 0; i < n - L; i++) p = add(p, p);
  int ans = add(mult(L, add(p, p)), mult(n - L, p));
  printf("%d\n", ans);
  return 0;
}
