atcoder#ABC278H. [ABC278Ex] make 1

[ABC278Ex] make 1

Score : 600600 points

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 \mathrm{XOR} of non-negative integers A and B, A \oplus B, is defined as follows.
  • When A \oplus B is written in binary, the k-th lowest bit (k \geq 0) is 1 if exactly one of the k-th lowest bits of A and B is 1, and 0 otherwise.
For instance, 3 \oplus 5 = 6 (in binary: 011 \oplus 101 = 110).

Constraints

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1B1071 \leq B \leq 10^7
  • N2BN \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.

2 2
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)
2022 1119
293184537
200000 10000000
383948354