#include <bits/stdc++.h>
using namespace std;

class sol{
    public:
    long b,w;
};
#define MOD 1000000007
#define N 100005
vector<int> v[N];
sol dp[N];

void dfs(int i, int p){
    dp[i].b=1;
    dp[i].w=1;
    for(auto x: v[i]){
        if(x==p) continue;
        dfs(x,i);
        dp[i].w*= (dp[x].w+dp[x].b)%MOD;
        dp[i].b*= dp[x].w;
        dp[i].w%= MOD;
        dp[i].b%=MOD;
    }
}
int main(){
    int n;
    cin >> n;
    int x, y;
    for(int i=0;i<n-1;i++){
        cin >> x >> y;
        v[x].push_back(y);
        v[y].push_back(x);
    }
    dfs(1,1);
    long ans= dp[1].b+dp[1].w;
    ans%=MOD;
    cout << ans << endl;
}