题号:NC220401
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
小明拿到了一个排列,最开始的排列顺序是

,即顺序排列。
小明进行了

次操作,每次操作他选择一个区间

进行翻转。
保证翻转的区间的起始点和终点都是非递减的,即记两次操作为

和

,若

,必有

且

。
小明想知道,所有操作结束之后,排列顺序是什么?
输入描述:
第一行输入两个正整数
和
,分别代表排列的数字个数、翻转的次数。 %20&preview=true)
接下来的
行,每行输入两个正整数
和
,代表翻转的区间。 %20&preview=true)
输出描述:
输出
个数,每两个数用空格隔开,代表最终的排列。
示例1
说明
最开始排列是1,2,3,4,5
翻转了[1,3]区间后,形成的排列是3,2,1,4,5
翻转了[2,4]区间后,形成的排列是3,4,1,2,5
翻转了[2,5]区间后,形成的排列是3,5,2,1,4