#abc278h. [abc278_h]make 1

[abc278_h]make 1

Problem Statement

A sequence SS of non-negative integers is said to be a good sequence if:

  • there exists a non-empty (not necessarily contiguous) subsequence TT of SS such that the bitwise XOR of all elements in TT is 11.

There are an empty sequence AA, and 2B2^B cards with each of the integers between 00 and 2B12^B-1 written on them.
You repeat the following operation until AA becomes a good sequence:

  • You freely choose a card and append the integer written on it to the tail of AA. Then, you eat the card. (Once eaten, the card cannot be chosen anymore.)

How many sequences of length NN can be the final AA after the operations? Find the count modulo 998244353998244353.

What is bitwise XOR? The bitwise mathrmXOR\\mathrm{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

  • 1leqNleq2times1051 \\leq N \\leq 2 \\times 10^5
  • 1leqBleq1071 \\leq B \\leq 10^7
  • Nleq2BN \\leq 2^B
  • NN and BB are integers.

Input

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

NN BB

Output

Print the answer.


Sample Input 1

2 2

Sample Output 1

5

The following five sequences of length 22 can be the final AA after the operations.

  • (0,1)(0, 1)
  • (2,1)(2, 1)
  • (2,3)(2, 3)
  • (3,1)(3, 1)
  • (3,2)(3, 2)

Sample Input 2

2022 1119

Sample Output 2

293184537

Sample Input 3

200000 10000000

Sample Output 3

383948354