On a checkered sheet of rows and columns, find the number of different paths from the upper left corner to the lower right, provided that in one move you can move the checker either down, or up, or to the right, or up - right (diagonally).
You can move a checker to any position no more than once. The figure shows an example of a path on a sheet 3 \times 3:

Here, the upper left corner is marked with A and the lower right corner is marked with B. In this example, the number of distinct paths is .
One line contains two integers and (0 \leq n, m \leq 10^9).
Print the remainder after dividing the number of different paths by .

Example 1
Example 2