atcoder#AGC036C. [AGC036C] GP 2

[AGC036C] GP 2

Score : 900900 points

Problem Statement

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

Snuke will perform the following operation exactly MM times:

  • Choose two distinct indices i,ji, j (0i,jN1, ij0 \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

  • 2N1062 \leq N \leq 10^6
  • 1M5×1051 \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.

2 2
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).
3 2
19
10 10
211428932
100000 50000
3463133