시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
서로 다른 양의 정수 N개가 배열에 놓여 있다. 각 정수는 1 이상 N 이하이다.
다음 세 가지 명령을 처리해야 한다.
L a b k: a번째부터 b번째까지의 구간을 왼쪽으로 k번 회전한다.R a b k: a번째부터 b번째까지의 구간을 오른쪽으로 k번 회전한다.P x: 현재 배열의 x번째 값을 출력한다.예를 들어 (5, 1, 8, 3)을 왼쪽으로 한 번 회전하면 (1, 8, 3, 5)가 되고, 오른쪽으로 한 번 회전하면 (3, 5, 1, 8)이 된다.
회전 명령은 1 ≤ a < b ≤ N, 1 ≤ k < b-a+1을 만족한다. P x 명령이 주어질 때마다 답을 출력하라.
첫째 줄에 정수의 개수 N (2 ≤ N ≤ 100,000)과 명령의 개수 Q (1 ≤ Q ≤ 100,000)가 주어진다.
둘째 줄에는 초기 배열에 들어 있는 N개의 양의 정수가 주어진다.
다음 Q개 줄에는 위에서 설명한 형식의 명령이 하나씩 주어진다.
P x 명령마다 현재 x번째 위치에 있는 값을 한 줄에 하나씩 출력한다.