잊음을 논함
시간 제한4초메모리 제한1024 MB
교환 연산을 번호로 끄고 켤 수 있을 때, 현재 적용 중인 교환만 반영한 특정 위치의 값을 구합니다.
문제
정수 개로 이루어진 수열 가 있다. 처음에는 모든 에 대해 이다. 이 수열에 대해 개의 질의를 처리해야 한다.
s: 와 의 값을 서로 교환한다.f: 지금까지 입력된 질의 중 번째 질의를 잊는다. 번째 질의는s질의이며, 잊지 않은 상태임이 보장된다.r: 지금까지 입력된 질의 중 번째 질의를 다시 기억해 낸다. 번째 질의는s질의이며, 잊은 상태임이 보장된다.q: 지금까지 입력된s질의 중 잊지 않은 상태인 것만 입력 순서대로 반영했을 때, 의 값을 출력한다.
모든 s 질의는 어느 시점에서든 잊은 상태 또는 잊지 않은 상태 중 하나이다. s 질의가 입력된 직후에는 잊지 않은 상태가 된다. 잊지 않은 상태인 s 질의를 잊으면 잊은 상태가 된다. 잊은 상태인 s 질의를 다시 기억해 내면 잊지 않은 상태가 된다.
잊는 것은 병이 아니다. 잊지 않는 것이 병이 아닌 것은 아니다. 여러분은 잊어야 할 것을 잊을 수 있을까?
입력
첫 번째 줄에 수열의 길이 과 질의의 개수 가 주어진다. (; )
두 번째 줄부터 개의 줄에 걸쳐 위에서 설명한 형식의 질의가 한 줄에 하나씩 주어진다.
모든 s 질의에 대해 이며, 모든 q 질의에 대해 이다.
입력에는 q 질의가 적어도 하나 주어진다.
출력
각 q 질의에 대해 정답을 한 줄에 하나씩 출력한다.