#abc288h. [abc288_h]A Nameless Counting Problem

[abc288_h]A Nameless Counting Problem

Problem Statement

Print the number of integer sequences of length NN, A=(A1,A2,ldots,AN)A = (A_1, A_2, \\ldots, A_N), that satisfy both of the following conditions, modulo 998244353998244353.

  • $0 \\leq A_1 \\leq A_2 \\leq \\cdots \\leq A_N \\leq M$
  • A1oplusA2opluscdotsoplusAN=XA_1 \\oplus A_2 \\oplus \\cdots \\oplus A_N = X

Here, oplus\\oplus denotes bitwise XOR.

What is bitwise XOR?

The bitwise XOR of non-negative integers AA and BB, AoplusBA \\oplus B, is defined as follows.

  • When AoplusBA \\oplus B is written in binary, the kk-th lowest bit (kgeq0k \\geq 0) is 11 if exactly one of the kk-th lowest bits of AA and BB is 11, and 00 otherwise.

For instance, 3oplus5=63 \\oplus 5 = 6 (in binary: 011oplus101=110011 \\oplus 101 = 110).

Constraints

  • 1leqNleq2001 \\leq N \\leq 200
  • 0leqMlt2300 \\leq M \\lt 2^{30}
  • 0leqXlt2300 \\leq X \\lt 2^{30}
  • All values in the input are integers.

Input

The input is given from Standard Input in the following format:

NN MM XX

Output

Print the answer.


Sample Input 1

3 3 2

Sample Output 1

5

Here are the five sequences of length NN that satisfy both conditions in the statement: $(0, 0, 2), (0, 1, 3), (1, 1, 2), (2, 2, 2), (2, 3, 3)$.


Sample Input 2

200 900606388 317329110

Sample Output 2

788002104