Linda 正在组织一场考试。考试结束后,Linda 将重新分配试卷给学生进行互评,以便他们可以互相批改答案并给出初步分数。
学生们被分在几个大小不一的房间里。Linda 设计了以下重新分配试卷的方案:
- Linda 访问第一个房间,收走那里所有的试卷,并将它们堆成一叠。
- 在随后的每个房间里,Linda 从她那一叠试卷的顶部取出试卷,随机分发给该房间的学生。然后,她收走该房间学生写的所有试卷,并将它们加到她那一叠试卷的底部。
- 在恰好访问过每个房间一次后,Linda 回到第一个房间,将她那一叠中剩余的试卷分发给那里的学生。
显然,必须保证没有学生收到自己的试卷进行互评,并且 Linda 在进行重新分配时,她手中的试卷不会发完(即,在进入除第一个房间以外的任何房间时,Linda 手中的试卷数量至少要等于该房间的学生人数)。这种情况是否发生取决于访问房间的顺序。我们称一种房间的访问顺序是“安全的”,如果 Linda 按照该顺序访问房间时不会发完试卷,且没有任何学生有机会收到自己的试卷进行互评。
你能找到一种安全的访问房间顺序吗(或者确定不存在安全的顺序)?
输入格式
输入包含: 一行包含一个整数 $n$ ($2 \le n \le 30$),表示房间的数量。 一行包含 $n$ 个整数 $s_1, \dots, s_n$ ($1 \le s_i \le 100$,对于每个 $i$),其中 $s_i$ 是第 $i$ 个房间的学生人数。
输出格式
如果无法安全地重新分配试卷,输出 “impossible”。否则,输出一种安全的访问房间顺序。如果存在多种安全的顺序,你可以给出其中任意一种。
图片来自美国海军,属于公有领域
样例
样例输入 1
4 2 3 3 1
样例输出 1
2 3 4 1
样例输入 2
2 10 20
样例输出 2
impossible