Pascal's Triangle

The rows of Pascal's triangle are conventionally numbered starting with row r = 0 at the top. The entries in each row are numbered from the left beginning with c = 0 and are usually staggered relative to the numbers in the adjacent rows. A simple construction of the triangle proceeds in the following way. On row 0, write only the number 1. Then, to construct the elements of following rows, add the number directly above and to the left with the number directly above and to the right to find the new value. If either the number to the right or left is not present, substitute a zero in its place. For example, the first number in the first row is 0 + 1 = 1, whereas the numbers 1 and 3 in the third row are added to produce the number 4 in the fourth row.

Input

The input consists of at most 100 test cases, each containing a single line with integers r and c with 1 ≤ c ≤ r ≤ 100. The input terminates with the test case r = 0 and c = 0, which should not be processed.

Output

For each test case, print the number in Pascal's triangle at row r and column c.

Sample Input

1 0
1 1
2 0
2 1
2 2
3 0
3 1
3 2
3 3
4 0
4 1
4 2
4 3
4 4
100 56
0 0

Sample Output

1
1
1
2
1
1
3
3
1
1
4
6
4
1
49378235797073715747364762200