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

Difficulty: UNKNOWN_DIFFICULTY

Solutions:
import decimal
import sys

def C(N, K):
	if K > N:
		return 0
	if N - K < K:
		K = N - K
	res = 1
	i = 1
	while i <= K:
		res = res * (N - K + i)
		res = int(res / i)
		i = i + 1
	return res
T = int(sys.stdin.readline())
for t in range(T):
	(N, K) = list(map(int, sys.stdin.readline().split()))
	print(C(N, K))