Description
某中学高一新入校的同学正在进行军训。有n名同学在操场上站成一排练习站军姿。为了便于管理,教官在训练开始时,按照从左到右的顺序给学生从 1 到 n 编上了号码。
然而在练习军姿的时候,经常会有学生因为各种各样的事情(比如上厕所、中暑等)需要离队。在一天中,一共发生了 m 件这样的离队事件。每一次离队事件可以用数字 x(1≤x≤n) 来描述,表示左起第 x 个学生离队。
在有学生离队后,队伍中出现了一个空位。为了队伍的整齐,教官会依次下达 这样的一条指令:
向左看齐,所有学生向左填补空缺。不难发现在这条指令之后,空位就出现在了第 n 个位置。
教官规定不能有两个或更多学生同时离队。即在前一个离队的学生归队之后, 下一个学生才能离队。因此在每一个离队的学生要归队时,队伍中有且仅有第 n 个位置上的一个空位,这时这个学生会自然地填补到这个位置。
现在想要你计算每一次离队事件中,离队的同学 的编号是多少。
注意:每一个同学的编号不会随着离队事件的发生而改变,在发生离队事件后队列中同学的编号可能是乱序的。
Input
第一行,两个整数 n 和 m
第二行,m 个空格间隔的整数,依次表示每次离队时间发生的位置。
Output
一行,m 个空格间隔的整数,依次表示每次离队事件离队的学生的编号
HINT
1≤n≤1,000,000
1≤m≤100,000