G :: Counting Binary Trees

Time Limit: 5 Seconds    Memory Limit: 32768 KB

There are 5 distinct binary trees of 3 nodes:

http://sharecode.ir/assets/problem_images/1159_a2d04cb03d9dba2558e402e6f6e02bb0.jpg

Let T(n) be the number of distinct non-empty binary trees of no more than n nodes, your task is to calculate T(n) mod m.

Input

The input contains at most 10 test cases. Each case contains two integers n and m (1 <= n <= 100,000, 1 <= m <= 109) on a single line. The input ends with n = m = 0.

Output

For each test case, print T(n) mod m.

Sample Input

3 100
4 10
0 0

Sample Output

8
2
Submit