Home => ProblemSet => 3.2-14:站军姿
Problem1809--3.2-14:站军姿

1809: 3.2-14:站军姿

Time Limit: 1 Sec  Memory Limit: 512 MB  Submit: 0  Solved: 20
[ Submit ] [ Status ] [ Creator: ][ 参考程序 ]

Description

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

Input

第一行,两个整数 n 和 m
第二行,m 个空格间隔的整数,依次表示每次离队时间发生的位置。

Output

一行,m 个空格间隔的整数,依次表示每次离队事件离队的学生的编号

Sample Input Copy

10 7
3 1 2 10 4 3 5

Sample Output Copy

3 1 4 4 7 6 10

HINT





1≤n≤1,000,000
1≤m≤100,000


Source/Category