#define MD 998244353 graph g; pair f(ll i,ll p){ Mint a=1,b,c; rep[g.edge[i]](j,g.es[i]){ if(j!=p){ auto s=f(j,i); c=c*s.second+b*s.first; b=b*s.second+a*s.first; a*=s.second; } } return {a+b,b+c}; } { ll@n; int u[n],v[n]; rd((u--,v--)(n-1)); g.setEdge(n,n-1,u,v); wt(f(0,0).second); }