CCA的排列
题号:NC206067
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛牛拿到了一个长度为N的排列和M个区间,一开始排列是1、2、3......N。
然后他将这些区间在按顺序在排列上翻转,全部翻转一遍称一次操作。
现在他要去搞文化了...所以拜托你告诉他经过K次操作后的排列长什么样子。

输入描述:

第一行三个整数:N,M,K。
接下来M行,每行两个整数L和R描述一个区间。

输出描述:

输出一行N个数,表示经过K次操作后的排列。
示例1

输入

复制
5 2 2
1 4
2 3

输出

复制
1 2 3 4 5

说明

排列1 2 3 4 5中,区间[1 , 4]和[2 , 3]翻转后,排列为4 2 3 1 5。
再操作一次,则为1 2 3 4 5。

备注:

对于20%的数据,N <= 1e3,K <= 1e3
对于另外20%的数据,N <= 100,K <= 1e9
对于100%的数据,N <= 1e5,M <= 10,K <= 1e9,1 <= L <= R <= N