Point: 100.0
Time limit: 1.0s
Memory limit: 98 M
Input: stdin
Output: stdout
Problem type

An đã sáng tạo một trò chơi thú vị dành cho Bình với dãy số. Trò chơi này kết hợp với những thử thách trí tuệ và kỹ năng tưởng tượng. An cho Bình một dãy \(N\) số nguyên với giá trị khởi tạo bằng \(0\). An cho phép Bình thực hiện \(M\) lần thao tác với dãy số:

  • Chọn \(2\) số nguyên phân biệt \(i, j\), thay đổi \(x_i = x_i + 2\), \(x_j = x_j + 1\).

Sau quá nhiều lần biến đổi, những dãy số khác nhau cũng xuất hiện, Bình đã ghi ra giấy được một số dãy số. Nhưng vì quá nhiều dãy số được tạo ra, Bình đã nhờ bạn – một coder tài năng đếm xem có thể tạo thành bao nhiêu dãy số khác nhau sau khi thực hiện thao tác trên \(M\) lần.

Input

  • Gồm một dòng chứa 2 số nguyên \(N, M\).

Output

  • Gồm một dòng là kết quả bài toán. Vì kết quả quá lớn nên hãy lấy kết quả modulo 998244353.

Constraint

  • \(1 \leq N \leq 10^6\).
  • \(1 \leq M \leq 5 \times 10^5\).

Example

INPUT OUTPUT
2 2 3 Sau \(2\) phép biến đổi ta có thể tạo thành các dãy:
- \((2, 4)\)
- \((3, 3)\)
- \((4, 2)\)
3 2 19