# Parentheses and brackets P36384

Statement html

Suppose that you have x pairs of parentheses and y pairs of brackets. In how many ways can you correctly put the parentheses and brackets?

For example, there are 15 ways with x = 2 and y = 1:

 ()()[] ()[()] (()[]) ([()]) [()]() ()([]) (())[] (([])) []()() [()()] ()[]() ([])() ([]()) [](()) [(())]

The number of combinations grows very fast with x and y. Therefore, make the calculations modulo a given natural number m.

Input

Input consists of several cases. Every case has x, y and m. Suppose 0 ≤ x ≤ 50, 0 ≤ y ≤ 50, and 2 ≤ m ≤ 108.

Output

For every case, print the number of correct ways to place x pairs of parentheses and y pairs of brackets, modulo m.

Hint

Consider the position of the counterpart of the first symbol.

Public test cases
• Input

```2 1 1000000
1 2 1000000
1 2 4
0 0 1000000
1 0 1000000
2 0 1000000
3 0 1000000
6 6 100000000
6 6 1000
50 50 100000000
```

Output

```15
15
3
1
1
2
5
92203088
88
24825920
```
• Information
Author