P24420 [AtCoder] make 1
NOI
题目描述

Problem Statement

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

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

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

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

How many sequences of length N can be the final A after the operations? Find the count modulo 998244353.
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)$.

Input

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

Output

Print the answer.

Constraints

  • $1 \leq N \leq 2 \times 10^5$
  • $1 \leq B \leq 10^7$
  • $N \leq 2^B$
  • N and B are integers.

Sample Input 1

2 2

Sample Output 1

5

The following five sequences of length 2 can be the final A after the operations.

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

Sample Input 2

2022 1119

Sample Output 2

293184537

Sample Input 3

200000 10000000

Sample Output 3

383948354

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
2 2
样例输出
5