The Rascal Triangle definition is similar to that of the Pascal Triangle. The rows are numbered from the top starting with 0. Each rown contains n + 1 numbers indexed from 0 to n. Using R(n, m) to indicate the index m item in the index n row:
R(
n,
m) = 0 for
n < 0 OR
m < 0 OR
m >
n
The first and last numbers in each row (which are the same in the top row) are 1:
R(
n, 0) =
R(
n,
n) = 1
The interior values are determined by (UpLeftEntry*UpRightEntry + 1)/UpEntry (see the parallelogram in the array below):
R(
n + 1,
m + 1) = (
R(
n,
m)*
R(
n,
m + 1) + 1)/
R(
n - 1,
m)
Write a program which computes R(n, m) the m-th element of the n-th row of the Rascal Triangle.
Input
The first line of input contains a single integer P, ( 1P1000), which is the number of data sets that follow. Each data set is a single line of input consisting of 3 spaces separated decimal integers. The first integer is data set number, N. The second integer is row numbern, and the third integer is the index m within the row of the entry for which you are to find R(n, m) the Rascal Triangle entry ( 0mn50000).
Output
For each data set there is one line of output. It contains the data set number, N, followed by a single space which is then followed by theRascal Triangle entry R(n, m) accurate to the nearest integer value.
DescriptionThe Rascal Triangle definition is similar to that of the Pascal Triangle. The rows are numbered from the top starting with 0. Each rown contains n + 1 numbers indexed from 0 to