{"raw_statement":[{"iden":"problem statement","content":"You are given a tree with $N$ vertices. The vertices are numbered from $1$ to $N$, and the $i$\\-th edge connects vertices $u_i$ and $v_i$.\nInitially, on each vertex of the tree is written number $1$.\nIn one operation, you can do the following:\n\n*   Choose any vertex $v$ of the tree. Let $X$ be the **XOR** of the values written in the neighbors of $v$. Then, if the number written on $v$ is $a_v$, replace it by $(a_v\\ \\mathrm{XOR}\\ X)$.\n\nYou can perform this operation any finite (maybe zero) number of times. How many configurations can you achieve? As this number can be large, output it modulo $998244353$.\nTwo configurations are called different if there exists a vertex $v$, such that the numbers written in $v$ in these configurations are different."},{"iden":"constraints","content":"*   $3 \\le N \\le 2\\cdot 10^5$\n*   $1\\le u_i, v_i \\le N$\n*   $u_i \\neq v_i$\n*   The input represents a valid tree."},{"iden":"input","content":"Input is given from Standard Input in the following format:\n\n$N$\n$u_1$ $v_1$\n$u_2$ $v_2$\n$\\vdots$\n$u_{N-1}$ $v_{N-1}$"},{"iden":"sample input 1","content":"4\n1 2\n2 3\n3 4"},{"iden":"sample output 1","content":"10\n\nWe can get the following configurations ($abcd$ means vertices $1,2,3,4$ have $a,b,c,d$ written on them): $1111$, $1110$, $1100$, $1000$, $0111$, $0110$, $0100$, $0011$, $0010$, $0001$."},{"iden":"sample input 2","content":"5\n1 2\n1 3\n1 4\n1 5"},{"iden":"sample output 2","content":"24"},{"iden":"sample input 3","content":"6\n1 3\n2 3\n3 4\n4 5\n4 6"},{"iden":"sample output 3","content":"40"},{"iden":"sample input 4","content":"9\n1 2\n2 3\n1 4\n4 5\n1 6\n6 7\n7 8\n8 9"},{"iden":"sample output 4","content":"255"}],"translated_statement":null,"sample_group":[],"show_order":["default"],"formal_statement":null,"simple_statement":null,"has_page_source":true}