"Run, Barry, Run!"
The Flash has to reach Iron Heights prison from the Central City Police Department. Being the Flash, he has no shortage of time. So he decides to take all the possible different paths from CCPD to Iron Heights. The Flash wants to know how many such paths are there.
Central City is represented as a two dimensional cartesian plane where CCPD lies at co-ordinates (0, 0) and Iron Heights lies at co-ordinates (x, y). From a particular point (a, b), The Flash can move to either (a + 1, b) or (a, b + 1).
Since the number of distinct paths can be very large, print the answer modulo 10^9 + 7.
INPUT:
The first line of input contains the number of test cases (t).
Each test case consists of one line containing two integers, x and y, the co-ordinates of Iron Heights prison.
OUTPUT:
For each test case, print the number of different paths The Flash can take to reach from (0, 0) to (x, y).
CONSTRAINTS:
1 <= t <= 100
0 <= x, y <= 100
To go to (1, 1) from (0, 0), Barry has two possible paths:
(0, 0) -> (0, 1) -> (1, 1)
(0, 0) -> (1, 0) -> (1, 1)
To go to (2, 2) from (0, 0), Barry has 6 possible paths:
(0, 0) -> (0, 1) -> (1, 1) -> (2, 1) -> (2, 2)
(0, 0) -> (0, 1) -> (1, 1) -> (1, 2) -> (2, 2)
(0, 0) -> (1, 0) -> (1, 1) -> (2, 1) -> (2, 2)
(0, 0) -> (1, 0) -> (1, 1) -> (1, 2) -> (2, 2)
(0, 0) -> (1, 0) -> (2, 0) -> (2, 1) -> (2, 2)
(0, 0) -> (0, 1) -> (0, 2) -> (1, 2) -> (2, 2)