MARBLES - Marbles

Hänschen dreams he is in a shop with an infinite amount of marbles. He is allowed to select n marbles. There are marbles of k different colors. From each color there are also infinitely many marbles. Hänschen wants to have at least one marble of each color, but still there are a lot of possibilities for his selection. In his effort to make a decision he wakes up. Now he asks you how many possibilites for his selection he would have had. Assume that marbles of equal color can't be distinguished, and the order of the marbles is irrelevant.

Input

The first line of input contains a number T ≤ 100 that indicates the number of test cases to follow. Each test case consists of one line containing n and k, where n is the number of marbles Hänschen selects and k is the number of different colors of the marbles. You can assume that 1 ≤ k ≤ n ≤ 1000000.

Output

For each test case print the number of possibilities that Hänschen would have had. You can assume that this number fits into a signed 64 bit integer.

Example

Input:
2
10 10
30 7

Output:
1
475020

Added by:Adrian Kuegel
Date:2004-06-19
Time limit:1s
Source limit:10000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: NODEJS PERL6 VB.NET
Resource:own problem

hide comments
2019-01-10 20:12:15
[Spoiler:]
calculate C(n-1, k-1)
the problem is just the another variant of stars and bars.
the proof is left as an exercise.
2018-04-01 09:29:00 Muhammad Ashlah Shinfain
i think if this solution is not intended using big integer the answer in description should be mentioned to modulo with a value (such as 1000000007)

I found C(999999,499999), which I think would be possibly computed in one of the testcase, is very big. It is aprox. 300000 digits http://www.wolframalpha.com/input/?i=combination(999999,499999)
2018-01-08 15:47:56
Admin should revise the test cases. Accepting wrong solutions!!
1
64 30
correct ans : 759510004936100355
but it is accepting with ans: 310981744965266872
costed me 3WAs
2017-09-16 15:52:57
I appear to have misunderstood the question.

If n = 3, k = 10, the answer should be 0, right ? Because there's no possibility where one marble of each colour is chosen. But the expected answer is 1. Can someone please explain this ?
2017-09-15 18:05:53
well,,it z smthng like a1+a2+a3+a4+.......+ak=n-k;
just find the total no of permutations for this
2017-09-06 16:16:38
how do you see those accepted codes?
2017-06-23 20:20:15
getting TLE in JAVA, not even a single java code accepted in top 70-80
2017-05-27 14:09:13
Beggars Method!!

Last edit: 2017-05-27 14:12:01
2017-03-23 13:48:11 sunny
bars and stars :-).
2017-03-17 17:10:37
Solution is hidden in this line "Hänschen wants to have at least one marble of each color". Make a funciton that gives nCr of two numbers and then use your mind.
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.