E |
Help Hermione Input: Standard Input Output: Standard Output |
|
Arithmancy is one of the most favorite subjects of Hermione Granger,
the most intelligent witch of her generation. She was thinking about the last homework given by Professor Vector:
A peculiar magical creature can live in a rectangle drawn into a n*n
square grid if and only if the rectangle
is not a square and its sides are parallel to the major axes. Same
conditions hold for higher dimensions (yes, the peculiar creature can even be 2500-dimensional!!!),
i.e. if the sides parallel to the major axes are all equal, it cannot live inside the hyper box. For example, in a
3-dimensional grid, it can live inside a 2*2*3 or a 3*4*5 box, but it cannot
live inside a 5*5*5 cube!! In how many ways one can draw a k-dimensional hyper box inside a n*n*...*n(k times n) grid so that
the peculiar creature can live inside the hyper box? A way is different from
another way if at least one co-ordinate of one corner is different. For
example, in a 4*4 grid, {(0,0), (0,3), (2,3), (2,0)}, {(1,0), (1,3), (3,3),
(3,0)} and {(0,0), (0,3), (4,3), (4,0)} are 3 different ways but {(0,0), (0,3),
(2,3), (2,0)}, {(0,3), (2,3), (2,0), (0,0)} and {(2,3), (2,0), (0,0), (0,3)}
are not different.
Hermione is quite confident of solving it, but she has to go now to the
Room of Requirement with Harry and Ron for a secret meeting. Your task is to
write a program that solves the problem for Hermione.
The first line contains a single integer T (T ≤ 5,000) which denotes the number of test cases. Each
of the following T lines contains two integers, n (1 ≤
n ≤ 109) and k
(2 ≤ k ≤
2500).
For each test case, output a single integer in each line which is the
number of ways to draw k-dimensional
axis-parallel hyper boxes in an n*n*….*n
grid. As this number can be quite large, output the answer mod 1,000,000,007 (109 + 7).
2 3 2 2 2 |
22 4 |