atcoder#ABC284H. [ABC284Ex] Count Unlabeled Graphs

[ABC284Ex] Count Unlabeled Graphs

Score : 600600 points

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,,vNv_1, v_2, \dots, v_N to satisfy the following conditions.

  • For every ii such that 1iN1 \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 1i<jN1 \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

  • 1KN301 \leq K \leq N \leq 30
  • 108P10910^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.

3 1 998244353
4

The following four graphs satisfy the condition.

image

3 2 998244353
12

The following 1212 graphs satisfy the condition.

image2

5 5 998244353
1024
30 15 202300013
62712469