#abc284h. [abc284_h]Count Unlabeled Graphs

[abc284_h]Count Unlabeled Graphs

Problem Statement

You are to generate a graph by the following procedure.

  • Choose a simple undirected graph with NN unlabeled vertices.
  • Write a positive integer at most KK in each vertex in the graph. Here, there must not be a positive integer at most KK that is not written in any vertex.

Find the number of possible graphs that can be obtained, modulo PP. (PP is a prime.)

Two graphs are considered the same if and only if one can label the vertices in each graph as v1,v2,dots,vNv_1, v_2, \\dots, v_N to satisfy the following conditions.

  • For every ii such that 1leqileqN1 \\leq i \\leq N, the numbers written in vertex viv_i in the two graphs are the same.
  • For every ii and jj such that 1leqiltjleqN1 \\leq i \\lt j \\leq N, there is an edge between viv_i and vjv_j in one of the graphs if and only if there is an edge between viv_i and vjv_j in the other graph.

Constraints

  • 1leqKleqNleq301 \\leq K \\leq N \\leq 30
  • 108leqPleq10910^8 \\leq P \\leq 10^9
  • PP is a prime.
  • All values in the input are integers.

Input

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

NN KK PP

Output

Print the answer.


Sample Input 1

3 1 998244353

Sample Output 1

4

The following four graphs satisfy the condition.

image


Sample Input 2

3 2 998244353

Sample Output 2

12

The following 1212 graphs satisfy the condition.

image2


Sample Input 3

5 5 998244353

Sample Output 3

1024

Sample Input 4

30 15 202300013

Sample Output 4

62712469