Time Limit: 2 second(s) | Memory Limit: 32 MB |
Given a sequence of integers S = {a_{1}, a_{2}, a_{3} ... a_{n}} and an integer m, you have to find a subsequence of S containing m elements, P = {b_{1}, b_{2}, b_{3} ... b_{m}} such that (b_{1} < b_{2} < ... < b_{m}). If there are several subsequences possible then you should find the one where b_{1} is leftmost. If there is still a tie, then check for the one where b_{2} 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 starts with an integer T (≤ 12), denoting the number of test cases.
Each case starts with a line containing two integers n (1 ≤ n ≤ 10^{5}) and q (1 ≤ q ≤ 10) where q denotes the total number of queries. The next line contains n space separated integers denoting a_{1}, a_{2} ... a_{n} respectively. Each of the next q lines contains an integer m (1 ≤ m ≤ n). You can assume that -10^{8} ≤ a_{i} ≤ 10^{8}.
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 Input |
Output for Sample Input |
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 |
Dataset is huge, use faster I/O methods.
Developed and Maintained by
JANE ALAM JAN |
Copyright © 2012
LightOJ, Jane Alam Jan |