Swapity Swapity Swap

시간 제한2초메모리 제한512 MB

요약
N개 원소로 이루어진 배열에 M개의 구간 뒤집기 연산을 순서대로 K번 적용한 뒤 최종 배열을 출력한다. K는 1e9까지 커질 수 있다.
난이도

보통10점 중 7점

유형
구현, 수학, 시뮬레이션, 분할 정복
정답자
아직 제출이 없습니다

문제

Farmer John의 소 NN마리(1≤N≤1051\le N\le 10^5)가 한 줄로 서 있다. 왼쪽에서 ii번째 소의 이름표는 1≤i≤N1\le i\le N인 각 ii에 대해 ii이다.

Farmer John은 소들을 위한 새로운 아침 운동을 생각해 냈다. 그는 소들에게 MM개의 정수 쌍 (L1,R1)…(LM,RM)(L_1,R_1) \ldots (L_M, R_M)을 주었고, 여기서 1≤M≤1001 \leq M \leq 100이다. 그런 다음 소들에게 다음 MM단계 과정을 정확히 KK(1≤K≤1091\le K\le 10^9)번 반복하라고 한다:

  • ii가 11부터 MM까지일 때:
    • 현재 왼쪽에서 Li…RiL_i \ldots R_i번째 위치에 있는 소들의 순서를 뒤집는다.

소들이 이 과정을 정확히 KK번 반복한 후, 1≤i≤N1\le i\le N인 각 ii에 대해 왼쪽에서 ii번째 소의 이름표를 출력하라.

입력

첫 번째 줄에는 NN, MM, KK가 주어진다. 1≤i≤M1\le i\le M인 각 ii에 대해, i+1i+1번째 줄에는 LiL_i와 RiR_i가 주어지며, 둘 다 1…N1 \ldots N 범위의 정수이고 Li<RiL_i < R_i이다.

출력

출력의 ii번째 줄에, 주어진 명령을 KK번 실행한 후 배열의 ii번째 원소를 출력하라.

힌트

처음에 소들의 순서는 왼쪽에서 오른쪽으로 [1,2,3,4,5,6,7][1,2,3,4,5,6,7]이다. 과정의 첫 번째 단계 후 순서는 [1,5,4,3,2,6,7][1,5,4,3,2,6,7]이다. 과정의 두 번째 단계 후 순서는 [1,5,7,6,2,3,4][1,5,7,6,2,3,4]이다. 두 단계를 두 번째로 반복하면 예제의 출력이 나온다.

예제1

  1. 예제 1

    입력
    7 2 2
    2 5
    3 7
    
    예상 출력
    1
    2
    4
    3
    5
    7
    6