#include<bits/stdc++.h>
#define mod 1000000007
using namespace std;
int n;
int x,y;
int fir[100005],nxt[200005],to[200005],cnt=0;
int dp[100005][2];

void dfs(int x,int f){
	dp[x][0]=1;
	dp[x][1]=1;
	for(int i=fir[x];i;i=nxt[i]){
		if(to[i]==f) continue;
		dfs(to[i],x);
		dp[x][0]=1LL*dp[x][0]*(dp[to[i]][0]+dp[to[i]][1])%mod;
		dp[x][1]=1LL*dp[x][1]*dp[to[i]][0]%mod;
	}
}

int main(){
	scanf("%d",&n);
	for(int i=1;i<n;i++){
		scanf("%d %d",&x,&y);
		to[++cnt]=y,nxt[cnt]=fir[x],fir[x]=cnt;
		to[++cnt]=x,nxt[cnt]=fir[y],fir[y]=cnt;
	}
	dfs(1,0);
	printf("%d\n",(dp[1][1]+dp[1][0])%mod);
	
	return 0;
}