你正在组织一场程序设计竞赛,参赛队伍的排名首先取决于他们解决问题的数量。如果解题数相同,则罚时(time penalty)较低的队伍排名靠前。然而,与 BAPC 不同的是,如果最后一次通过的提交是在第 $t$ 分钟,则罚时等于 $t$;如果未解决任何问题,则罚时为 $0$。
例如,如果 A 队在第 5 分钟解决了第一道题,在第 10 分钟解决了第二道题,在第 60 分钟解决了第三道题,那么他们的罚时就是 60。如果 B 队也解决了三道题,分别是在第 30、40 和 50 分钟,那么他们的罚时是 50,他们将排在 A 队之前。
比赛已经结束,你想要录入最终排名。然而,由于文件损坏,你丢失了记分牌的一部分。具体来说,显示每支队伍解题数量的那一列不见了。你仍然拥有所有队伍的罚时,并且知道它们是按正确顺序排列的。你也记得比赛共有多少道题。你想知道,在已知这些信息的情况下,是否可以唯一地重构出每支队伍解决的问题数量。
输入格式
输入包含:
- 一行包含两个整数:$n$ ($1 \le n \le 10^4$),参赛队伍数量;$p$ ($1 \le p \le 10^4$),比赛题目数量。
- $n$ 行,第 $i$ 行包含排名第 $i$ 名队伍的罚时 $t_i$ ($0 \le t_i \le 10^6$)(以分钟为单位)。
罚时 $t > 0$ 表示该队伍在第 $t$ 分钟提交了最后一次通过的题目。罚时为 $0$ 表示该队伍没有解决任何问题。
输入数据始终源自一个有效的记分牌。
输出格式
如果可以唯一地重构出所有队伍的解题数,则输出 $n$ 行,第 $i$ 行包含第 $i$ 名队伍解决的问题数量。否则,输出 “ambiguous”。
样例
样例输入 1
9 3 140 75 101 120 30 70 200 0 0
样例输出 1
3 2 2 2 1 1 1 0 0
样例输入 2
6 3 100 40 40 50 0 0
样例输出 2
ambiguous