Enumeration of Road Network Plans

No attempts yetTime limit1sMemory limit128 MB

Problem

Byteman is planning a car trip around Byteland, but he was unable to get a map of the country. His friends told him only a few facts about the road network.

  • There are nn cities, numbered from 11 to nn.
  • Every road is bidirectional and joins two distinct cities.
  • Between every pair of distinct cities there is exactly one path (a route of one or more roads that visits no city twice).
  • The longest such path uses exactly dd roads.

From this information Byteman wants to know how many different road network plans are consistent with what he knows. Two plans are considered the same when one can be turned into the other by relabelling the cities; that is, plans are compared only by their structure of connections, not by the positions or numbers of the cities. Formally, two plans are identical if and only if there is a one-to-one mapping between their cities such that two cities are joined by a road in the first plan exactly when the corresponding two cities are joined by a road in the second plan.

Because the count can be very large, output its remainder modulo pp.

Input

A single line with three integers nn, dd and pp (1n2001 \le n \le 200, 0d<n0 \le d < n, n<p109n < p \le 10^9, pp is prime), separated by single spaces.

Output

Output a single integer: the number of distinct plans consistent with Byteman's information, taken modulo pp.

Hint