F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

Random Inversion Machine

Time 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 ≤ 104) 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 (109 + 7) for each test case in a separate line. Here, B-1 is the multiplicative inverse of B modulo 109 + 7. The input constraints guarantee that B and 109 + 7 are coprime, so this expression is properly defined.
 

Sample Input
3 1 1 2 2 2 1
 

Sample Output
500000004 250000002 166666670
 

Hint
The maximum expected game scores in the example are 1/2, 1/4, 13/6 respectively.
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-07-27 16:15:11, Gzip enabled