#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const int mod=998244353; const int dx[]={1,0,0,-1},dy[]={0,1,-1,0}; vectorG[100000]; int dp[2][100000]; void dfs(int v,int p){ vector>vec; for(auto&x:G[v]){ if(x==p) continue; dfs(x,v); vec.push_back(array({dp[0][x],dp[1][x]})); } vector>dp2(vec.size()+1); dp2[0]={1,0,0}; for(int i=0;i>n; while(cin>>u>>v){ u--,v--; G[u].push_back(v); G[v].push_back(u); } dfs(0,-1); cout<