Niuniu likes cryptology. His friend, Gougou, sent him a graph as his birthday present. The graph is encoded, so Niuniu must answer a question to decode it. The graph has n vertices and m edges. Every vertex has a non-negative integer ai. Here follows the question:
You need to assign each vertex another non-negative integer bi, satisfying:
1. For an edge (u, v),bu ≠ bv.
2. For a vertex u,0 ≤ bu ≤ au.
3. b1 xor b2 xor ... xor bn = C. (xor means exclusive OR)
What is the number of valid assignments modulo 998244353?
Can you help Niuniu answer the question?

