题目描述
度熊在用一个由最小的 $N$ 个正整数组成的集合 (也就是 $\{1,2,\ldots, N\}$) 和一个下标为 $1 \sim N$ 的数组 $a$ 玩游戏。
游戏开始时数组 $a$ 的所有数字都是 $0$,接着共有 $N-1$ 次操作,每次操作由以下步骤组成:
1. 选取一个元素个数大于 $1$ 的集合 $S$。
2. 对于 $S$ 中所有元素 $i$,都把 $a[i]$ 的值加 $1$。
3. 选取一个正整数 $x$,这个 $x$ 必须满足 $S$ 中小于等于 $x$ 的数的数量以及大于 $x$ 的数的数量都不为 $0$。
4. 把集合 $S$ 分成两个集合,第一个包含 $S$ 中所有小于等于 $x$ 的元素,第二个包含 $S$ 中所有大于 $x$ 的元素,产生出两个集合后,集合 $S$ 就消失了。
$N-1$ 次操作结束后就会产生出 $N$ 个集合,这 $N$ 个集合恰是对于所有 $i = 1 \sim N$,大小为 $1$ 且仅包含数字 $i$ 的集合。
游戏结束后,度熊忘记了 $N-1$ 次操作的过程,只知道操作完后 $a[1] \sim a[N]$ 的值,请根据这些值来还原操作,仅需依序输出第 $i$ 次操作所选的 $x$ 值即可。若有多组解,请输出字典序最小的解。
提示:我们称数组 $c_1,c_2,\ldots,c_n$ 字典序比数组 $d_1,d_2,\ldots,d_n$ 小,当且仅当存在某个 $i$ 满足对于所有$j < i$ 都有 $c_j = d_j$,且 $c_i < d_i$。
输出样例
Possible
1
Impossible
Possible
2 1 3
Possible
1 2
Note
对于第一组询问来说,当 $n=2$ 时,可能的游戏过程只有一种,也就是在唯一一次的操作中,令 $x=2$,即可把集合 $\{1,2\}$ 拆成两个集合 $\{1\}$ 和 $\{2\}$。游戏结束后数组 $a=[1,1]$ 刚好就是这组询问,所以答案为 $1$。
对于第二组询问来说,没有任何一种游戏方式可以让 $a$ 变成 [1,1,2],答案为 "Impossible"。
对于第三组询问来说,虽然存在 $2,1,3$ 和 $2,3,1$ 两种可能的游戏过程,但 $2,1,3$ 的字典序比较小,所以必须输出 $2,1,3$。