#agc052c. [agc052_c]Nondivisible Prefix Sums

[agc052_c]Nondivisible Prefix Sums

Problem Statement

You are given a prime number PP, which you don't like.

Let's call an array of integers A1,A2,dots,ANA_1, A_2, \\dots, A_N good, if it is possible to reorder the elements in such a way that no prefix sum is divisible by PP (that is, there is no ii with 1leileN1 \\le i \\le N and A1+A2+dots+Aiequiv0bmodPA_1 + A_2 + \\dots + A_i \\equiv 0 \\bmod P after the reordering).

Consider all (P1)N(P-1)^N arrays of length NN with elements from 11 to P1P-1. How many of them are good?

As this number can be very big, output it modulo 998244353998244353.

Constraints

  • 1leNle50001 \\le N \\le 5000
  • 2lePle1082 \\le P \\le 10^8
  • PP is a prime.

Input

Input is given from Standard Input in the following format:

NN PP

Output

Output the number of good arrays modulo 998244353998244353.


Sample Input 1

2 5

Sample Output 1

12

There are 1212 good arrays: \[1, 1\], \[1, 2\], \[1, 3\], \[2, 1\], \[2, 2\], \[2, 4\], \[3, 1\], \[3, 3\], \[3, 4\], \[4, 2\], \[4, 3\], \[4, 4\].


Sample Input 2

4 3

Sample Output 2

8

There are 88 good arrays: \[1, 1, 1, 2\], \[1, 1, 2, 1\], \[1, 2, 1, 1\], \[2, 1, 1, 1\], \[2,2,2,1\[2, 2, 2, 1], \[2, 2, 1, 2\], \[2, 1, 2, 2\], \[1, 2, 2, 2\].


Sample Input 3

5000 99999989

Sample Output 3

51699346

Sample Input 4

2021 307

Sample Output 4

644635349