[HAOI2007] 上升序列

题目描述

对于一个给定的 $S=\{a_1,a_2,a_3,…,a_n\}$ , 若有 $P=\{a_{x_1},a_{x_2},a_{x_3},…,a_{x_m}\}$ , 满足 $(x_1<x_2<…<x_m)$ 且 $(a_{x_1}<a_{x_2}<…<a_{x_m})$ 。那么就称 $P$ 为 $S$ 的一个上升序列。如果有多个 $P$ 满足条件,那么我们想求字典序最小的那个。 任务: 给出 $S$ 序列,给出若干询问。对于第 $i$ 个询问,求出长度为 $L_i$ 的上升序列,如有多个,求出字典序最小的那个(即首先 $x_1$ 最小,如果不唯一,再看 $x_2$ 最小……),如果不存在长度为 $L_i$ 的上升序列,则打印 `Impossible`。

输入输出格式

输入格式


第一行一个 $N$,表示序列一共有 $N$ 个元素。 第二行 $N$ 个数,为 $a_1, a_2 , \cdots , a_n$。 第三行一个 $M$,表示询问次数。下面接 $M$ 行每行一个数 $L$,表示要询问长度为 $L$ 的上升序列。

输出格式


对于每个询问,如果对应的序列存在,则输出,否则打印 `Impossible`。

输入输出样例

输入样例 #1

6
3 4 1 2 3 6
3
6
4
5

输出样例 #1

Impossible
1 2 3 6
Impossible

输入样例 #2

6
6 7 1 2 3 4
1
2

输出样例 #2

6 7

说明

$N \le 10000$,$M \le 1000$,保证数据随机。