시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
텍스트 편집기로 작성한 문서가 N개의 줄로 이루어져 있다. 처음에는 첫 번째 줄에 숫자 1, 두 번째 줄에 숫자 2가 적혀 있으며, 이런 식으로 i번째 줄에는 숫자 i가 적혀 있다(1≤i≤N).
그 뒤 이 문서에 "잘라내기와 붙여넣기" 연산을 정확히 K번 수행한다. 각 연산은 연속한 여러 줄로 이루어진 구간을 대상으로 한다. "잘라내기"는 선택한 줄들을 문서에서 제거하고, "붙여넣기"는 제거한 구간을 남은 줄들 사이의 다른 위치에 다시 삽입한다.
"잘라내기와 붙여넣기" 연산이 순서대로 주어질 때, 모든 연산을 수행한 뒤 문서의 처음 열 줄에 적힌 내용을 구하는 프로그램을 작성하시오.
첫째 줄에 문서의 줄 수 N(10≤N≤100,000)과 연산의 횟수 K(1≤K≤1,000)가 공백으로 구분되어 주어진다.
다음 K개의 줄에는 연산이 실행되는 순서대로 각 연산의 정보가 주어진다. 각 줄에는 세 정수 A, B, C가 공백으로 구분되어 주어지며, 1≤A≤B≤N, 0≤C≤N−(B−A+1)을 만족한다. A와 B는 잘라낼 구간의 첫 줄과 마지막 줄로, 현재 문서를 기준으로 매긴 줄 번호이다. C는 구간을 제거한 뒤의 문서에서 몇 번째 줄 뒤에 그 구간을 삽입할지를 나타낸다. C=0이면 구간을 문서의 맨 앞에 삽입한다.
모든 연산을 수행한 뒤 문서의 처음 열 줄에 적힌 숫자를 한 줄에 하나씩, 총 열 줄에 걸쳐 출력한다.