跑步训练
题号:NC220678
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

个人正在操场上排成一列慢跑以进行跑步训练,从最靠前的人编号
可是队伍里有人觉得跑的太慢了,经常会跑出队伍。而且这个人会带着他后面的个人一起跑出,他们会快跑到队伍的最前头并保持他们的相对顺序不变。
请你输出在最后一次跑出结束后,队伍从头到尾的人员编号。

输入描述:

第一行两个以空格分隔的整数。第一个表示队伍人数,第二个表示接下来会有次跑出。
接下来会有行,表示每一次跑出的信息。每一行的第一个整数表示这一次跑出的人的编号,第二个整数表示这一次他后面和他一起跑的人数有个。

输出描述:

一行个以空格分隔的整数依次代表队伍从头到尾的人员编号。
示例1

输入

复制
5 2
2 4
3 1

输出

复制
3 4 2 5 1

说明

初始时队伍有5个人,接下来会有2次跑出。队伍初始的时候状态为:
1 2 3 4 5
第一次跑出,编号2带着他后面的4个人(其实没有4个,只有3个)跑到最前面,则队伍变成:
2 3 4 5 1
第二次跑出,编号3带着他后面的1个人(也就是4)跑到最前面,则队伍变成:
3 4 2 5 1
示例2

输入

复制
5 3
2 4
3 1
2 0

输出

复制
2 3 4 5 1

说明

第二次跑出结果如示例一所述,第三次跑出,只有编号2,他后面没有人,因此队伍变成:
2 3 4 5 1

备注: