Given a sequence of integers S = {a1, a2, a3 ... an} and an integer m, you have to find a subsequence of S containing m elements, P = {b1, b2, b3 ... bm} such that (b1 < b2 < ... < bm). If there are several subsequences possible then you should find the one where b1 is leftmost. If there is still a tie, then check for the one where b2 is leftmost and so on.
For example, let the sequence be, 8 7 5 6 5 1 2 7 and m = 2. Then (1, 2), (5, 6), (5, 7), (1, 7) ... etc can be solutions. But we are looking for (5, 6).
Input
Input starts with an integer T (≤ 12), denoting the number of test cases.
Each case starts with a line containing two integers n (1 ≤ n ≤ 105) and q (1 ≤ q ≤ 10) where q denotes the total number of queries. The next line contains n space separated integers denoting a1, a2 ... an respectively. Each of the next q lines contains an integer m (1 ≤ m ≤ n). You can assume that -108 ≤ ai ≤ 108.
Output
For each case, print the case number in a line. Then for each query print a single line containing the desired subsequence or Impossible
if there is no such subsequence. Insert a single space between two integers of a subsequence.
Sample
Sample Input | Sample Output |
---|---|
3 6 3 3 4 1 2 3 6 6 4 2 6 2 2 4 6 1 3 5 3 4 8 5 8 7 5 6 5 1 2 7 1 2 3 4 5 | Case 1: Impossible 1 2 3 6 3 4 Case 2: 2 4 6 Impossible Case 3: 8 5 6 5 6 7 Impossible Impossible |
Notes
Dataset is huge, use faster I/O methods.