No tag edit access

F. Uniformly Branched Trees

time limit per test

1 secondmemory limit per test

256 megabytesinput

standard inputoutput

standard outputA tree is a connected graph without cycles.

Two trees, consisting of *n* vertices each, are called isomorphic if there exists a permutation *p*: {1, ..., *n*} → {1, ..., *n*} such that the edge (*u*, *v*) is present in the first tree if and only if the edge (*p*_{u}, *p*_{v}) is present in the second tree.

Vertex of the tree is called internal if its degree is greater than or equal to two.

Count the number of different non-isomorphic trees, consisting of *n* vertices, such that the degree of each internal vertex is exactly *d*. Print the answer over the given prime modulo *mod*.

Input

The single line of the input contains three integers *n*, *d* and *mod* (1 ≤ *n* ≤ 1000, 2 ≤ *d* ≤ 10, 10^{8} ≤ *mod* ≤ 10^{9}) — the number of vertices in the tree, the degree of internal vertices and the prime modulo.

Output

Print the number of trees over the modulo *mod*.

Examples

Input

5 2 433416647

Output

1

Input

10 3 409693891

Output

2

Input

65 4 177545087

Output

910726

Codeforces (c) Copyright 2010-2017 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Jun/23/2017 16:52:02 (c4).

Desktop version, switch to mobile version.

User lists

Name |
---|