

Random Inversion MachineTime Limit: 9000/4500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 89 Accepted Submission(s): 18 Problem Description Squark has a game machine, which has 2n slots in a row, numbered from 1 to 2n, inclusively. He plays a game with the machine for several rounds. In each round, he divides that row into k segments with marks at boundaries between adjacent segments. Each segment must contain an even number of slots. Then, the machine generates a random permutation of {1, 2, . . . , 2n} and displays the permutation on the slots.Finally, the machine calculates the inversion number of each segment and multiplies them together to get the score of the round. The inversion number of a sequence is the number of inversions (also called inversion pairs) in the sequence. Squark can play the game for as many rounds as he wants, but he must use different partitions in different rounds. Two partitions are considered to be different if there is a mark somewhere in one partition but not in the other. The total game score is simply the sum of the score of each round. However, the machine has been intruded by a malware, which changes the permutation before the machine calculates the score of each round. It picks each segment and sorts the numbers in the slots numbered with even numbers. For example, if n = 2, k = 1 and the permutation generated is (2, 4, 1, 3). The malware will pick numbers 4 and 3 (because they are in slots numbered with 2 and 4) and sort them, changing the permutation into (2, 3, 1, 4). So Squark will get a score of 2 (pairs (2, 1) and (3, 1)) in this round. Squark wants to know the maximum expected game score he can get. Input The first line contains an integer T (T ¡Ü 10^{4}) denoting the number of the test cases. For each test case, there is one line containing two integers, n(1 ¡Ü n ¡Ü 2000) and k(1 ¡Ü k ¡Ü n) as mentioned above. Output As the answer for the problem can be very large, please calculate it as an irreducible fraction A/B and output (A¡¤B^{1}) mod (10^{9} + 7) for each test case in a separate line. Here, B^{1} is the multiplicative inverse of B modulo 10^{9} + 7. The input constraints guarantee that B and 10^{9} + 7 are coprime, so this expression is properly defined. Sample Input
Sample Output
Hint The maximum expected game scores in the example are 1/2, 1/4, 13/6 respectively. Source  
