#agc036c. [agc036_c]GP 2

[agc036_c]GP 2

Problem Statement

We have a sequence of NN integers: x=(x0,x1,cdots,xN1)x=(x_0,x_1,\\cdots,x_{N-1}). Initially, xi=0x_i=0 for each ii (0leqileqN10 \\leq i \\leq N-1).

Snuke will perform the following operation exactly MM times:

  • Choose two distinct indices i,ji, j (0leqi,jleqN1,ineqj0 \\leq i,j \\leq N-1,\\ i \\neq j). Then, replace xix_i with xi+2x_i+2 and xjx_j with xj+1x_j+1.

Find the number of different sequences that can result after MM operations. Since it can be enormous, compute the count modulo 998244353998244353.

Constraints

  • 2leqNleq1062 \\leq N \\leq 10^6
  • 1leqMleq5times1051 \\leq M \\leq 5 \\times 10^5
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

NN MM

Output

Print the number of different sequences that can result after MM operations, modulo 998244353998244353.


Sample Input 1

2 2

Sample Output 1

3

After two operations, there are three possible outcomes:

  • x=(2,4)x=(2,4)
  • x=(3,3)x=(3,3)
  • x=(4,2)x=(4,2)

For example, x=(3,3)x=(3,3) can result after the following sequence of operations:

  • First, choose i=0,j=1i=0,j=1, changing xx from (0,0)(0,0) to (2,1)(2,1).
  • Second, choose i=1,j=0i=1,j=0, changing xx from (2,1)(2,1) to (3,3)(3,3).

Sample Input 2

3 2

Sample Output 2

19

Sample Input 3

10 10

Sample Output 3

211428932

Sample Input 4

100000 50000

Sample Output 4

3463133