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
2024-10-19 18:11:06
Can anyone explain why my idea is wrong for tc 2 where I chose all 7 marbles among 30 of different kinds and now I have left 23 marbles as I already chose at least one of each kind by choosing 7 marbles among 30 now for each marble I have 7 possibilities so why the answer is not 7^23 ?? can anyone explain
2023-11-13 09:56:44
if you coudn't understand how to get this formula watch this two videos
1-https://www.youtube.com/watch?v=UTCScjoPymA
2-https://www.youtube.com/watch?v=mMn6JGXULDQ
this really helps me
2020-04-20 10:01:49
AC with a O(t*(n-1)*(k-1)) DP solution;)
2020-04-07 14:37:34
stars and bar problem
2019-10-14 22:18:25
use r=min(r,n-r) to avoid overflow.
2019-09-26 13:05:31
Just find the value it's ok if it overflows.
The right answer for
1
1000000 500000
is -18446780961959
2019-06-21 12:58:37
If you don't know how to proceed. Please see https://www.youtube.com/watch?v=UTCScjoPymA
This will teach you how you can derive the formula (by analyzing the patterns).
2019-05-28 11:09:26
find out n-1 C k-1,carefully ,choose iteration as min(n-k,k-1) as nCr can be written as nCn-r
2019-05-02 18:24:44
if you are stuck then this - <snip> might help (contains explanation along with code).
Also please don't post unproductive comments like "A.C. in one go" etc. Nobody cares about your A.C.

Last edit: 2023-01-29 20:55:28
2019-01-14 09:42:28
i am in love with spoj!!
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.