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