In the event of technical difficulties with Szkopuł, please contact us via email at szkopul@fri.edu.pl.

If you are familiar with IRC chat, the support team is also reachable on PIRC network (`irc.pirc.pl`

) in `#szkopul`

channel. If you are not, just use email.

Please do not ask us things like "how to solve task XYZ?".

Please remember that the support team has to sleep sometimes or go to work in real life.

An undirected graph with vertices is called **a symmetric labeled cliquer** if each connected
component of the graph contains the same number of vertices and is a clique, and the vertices of the graph are
numbered with numbers from the set .
Maurycy has drawn all symmetric labeled cliquers on a piece of paper
and is going to assess beauty of each of them with a number from
the set
(in particular, different cliquers may be assigned equal grades).
In how many ways can he do this?
The result should be computed modulo .
The figure below depicts all symmetric labeled cliquers for .

The only line of the standard input contains two integers and (), separated by a single space and denoting the number of vertices of each symmetric labeled cliquer and the number of grades respectively.

The only line of the standard output should contain the number of possible sets of grades modulo .

For the input data:

4 2

the correct result is:

32

*Task author: Tomasz Idziaszek.*