QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 32 MB Total points: 100

#11048. Return of the Cliquers

统计

An undirected graph with $ n $ 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 $\{1, \ldots, n\}$. 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 $\{1, \ldots, m\}$ (in particular, different cliquers may be assigned equal grades). In how many ways can he do this? The result should be computed modulo $10^{9} - 401$. The figure below depicts all symmetric labeled cliquers for $ n = 4 $.

problem_11048_1.gif

Input Format

The only line of the standard input contains two integers $ n $ and $ m $ ($1 ≤ n, m ≤ 2 \cdot 10^{9}$), separated by a single space and denoting the number of vertices of each symmetric labeled cliquer and the number of grades respectively.

Output Format

The only line of the standard output should contain the number of possible sets of grades modulo $10^{9} - 401$.

Example

Input

4 2

Output

32