Chef has N subordinates. In order to complete a very important order he will choose exactly K of them. He can't choose less than K since it will be not enough to complete the order in time. On the other hand if he chooses more than K subordinates he can't control them during the operation. Help him to find the number of ways he can choose the team to complete this very important order.


Input
 The first line contains a single positive integer T <= 100, the number of test cases. T test cases follow. The only line of each test case contains two integers N and K, where 0 <= N, K < 2^64. It is guaranteed that the answer will be less than 2^64.


Output
 For each test case, output a single line containing the number of ways to choose the required team.


Example

Input:
3
2 1
3 3
10 5

Output:
2
1
252
import sys
def nCr (n,k) :

	if k == 0 :
		return 1
	else :
		return ( n*(nCr(n-1,k-1))/k )

T = int(raw_input())

while T :
	
	T-=1
	
	n , k = map(int,sys.stdin.readline().split())
	if n < k :
		print "0"
	elif n == k :
		print "1"
	else :
		if k > n-k :
			k = n-k
		print nCr(n,k)