#P7775. Blood Pressure Game

Blood Pressure Game

Blood Pressure Game

Problem Description

Gugulu, a JBer, who was an ACMer two years ago, comes to HDOJ taking part in the 2020 Multi-University Training Contest again. However, every time when Gugulu came to regional, he always got an Iron Medal and would consider this competition JB-like. To release his pain, Gugulu would go to the Shanghai Disneyland Park to have fun in taking the Roller Coaster. Gugulu loves the feeling with high-level blood pressure so much which makes him feel like a happy flappy bird who forgets all the Wrong Answers and Time Limit Exceededs etc. 图片 We can regard the path of the Roller Coaster as a list of turning points with different heights which can be represented as an array {a1,a2,a3,,ana_1,a_2,a_3,\dots,a_n} of size nn, and Gugulu's final blood pressure after the game of the Roller Coaster is counted as the sum of all absolute values of the differences between the n1n - 1 pairs of adjacent array numbers, i.e. i=1n1aiai+1\sum_{i=1}^{n-1} \left| a_i - a_{i+1} \right|. Gugulu always got Iron Medals and is always getting Iron Medals, which makes him keep taking the Roller Coaster over and over again. However, as playing more games, his threshold on the value of blood pressure which can make himself happy is keeping increasing. As a result, the Roller Coaster of Shanghai Disneyland Park can hardly meet Gugulu's needs anymore. Therefore, Gugulu decides to rearrange the array {a1,a2,a3,,ana_1,a_2,a_3,\dots,a_n} in any order to make his blood pressure as high as possible. Moreover, he wants to know the largest kk distinct possible values of blood pressure that can be achieved and the number of the corresponding permutations. You, another JBer, are sure that Gugulu is clever enough to get the highest blood pressure as he can. It is very important for you to calculate the correct answer to make an appointment with a proper cardiologist in advance to save Gugulu's life. You must solve this problem! Gugulu's blood pressure is becoming out of control!

Input

The first line of the input contains the number of test cases, TT (1T51 \leq T \leq 5). TT test cases follow. For each test case, the first line contains two integers, nn (2n6002 \leq n \leq 600) and kk (1k201 \leq k \leq 20). Then, in second line, there are nn integers {a1,a2,a3,,ana_1,a_2,a_3,\dots,a_n} (1ai1061 \leq a_i \leq 10^6), denoting the nn original Roller Coaster turning points. As it is an exciting Roller Coaster, it is guaranteed that all nn integers in the array are pairwise different.

Output

For each test case, output kk lines. For the ii-th (1ik1\leq i\leq k) line, print two numbers wiw_i and cic_i, where wiw_i denotes the ii-th largest possible value of blood pressure that can be achieved and cic_i denotes the number of corresponding permutations modulo 109+710^9+7. Note that when the ii-th largest possible value doesn't exist, print "-1\texttt{-1}" instead.

Sample Input

1
4 8
1 3 7 9

Sample Output

20 2
18 4
16 2
14 8
12 2
10 4
8 2
-1

Source

2020 Multi-University Training Contest 2