카드 게임
시간 제한3초메모리 제한2048 MB
- 난이도
아직 분류되지 않았습니다
- 정답자
- 아직 제출이 없습니다
문제
Randias는 카드 게임을 하고 있다. 각 카드에는 숫자가 적혀 있다. 숫자가 인 카드들에 대해 Randias는 다음과 같이 게임을 진행한다.
처음에 모든 카드는 Randias의 손에 있다. Randias는 카드 순서열을 관리하며, 처음에는 비어 있다. 번째 연산에서 Randias는 번째 카드(숫자 )를 순서열의 끝에 놓는다. 그다음 다음과 같이 처리한다.
- 순서열에 숫자 가 적힌 다른 카드가 없으면 번째 연산이 끝난다.
- 그렇지 않으면, 순서열에서 숫자 가 적힌 번째 카드를 찾는다. Randias는 번째 카드부터 방금 놓은 카드까지, 그 사이의 모든 카드를 두 끝을 포함해 가져간다.
예시로 이고 카드 순서열 에서 시작한다고 하자. 1번 연산 후 이다. 2번 연산 후 이다. 3번 연산 후 이다. 4번 연산 후 이다(카드 1, 3, 1이 제거된다). 5번 연산 후 이다(카드 2, 2가 제거된다). 6번 연산 후 이다.
Randias에게 장의 카드 와 개의 질의가 주어진다. 번째 질의는 쌍 이다. 각 질의마다 초기 카드 목록이 일 때 연산이 끝나고 순서열에 남는 카드 수를 구한다. 질의는 온라인으로 답해야 하므로, 각 질의는 이전 질의의 답을 이용해 복호화한다.
입력
첫 줄에 두 정수 과 가 주어진다 ().
다음 줄에 개의 정수 이 주어진다 ().
이어지는 개의 줄에는 각각 두 정수 와 가 주어진다 (). 직전 질의의 답을 라 하자. 그러면 복호화된 질의는 , 이다. 여기서 는 비트 단위 배타적 논리합이다. 복호화한 뒤에는 항상 이다. 아직 답한 질의가 없으면 이다.
출력
각 질의에 대해 답을 한 줄에 하나의 정수로 출력한다.
힌트
첫 번째 예시에서 질의의 구간은 , , , , 이다.