카드 묶음 뒤집기
시간 제한1초메모리 제한128 MB
n장의 카드 더미에 대해 위쪽 k장을 뒤집어 다시 올리는 m번의 동작을 수행한 뒤, s장의 카드가 최종적으로 몇 번째 위치에 어느 면이 위로 향하는지 출력한다.
문제
탁자 위에 카드 장이 하나씩 위로 쌓여 한 묶음을 이루고 있습니다. 각 카드는 한쪽 면에만 양의 정수가 적혀 있고, 반대쪽 면은 비어 있습니다. 맨 위 카드에는 , 그 아래 카드에는 , 이런 식으로 내려가 맨 아래 카드에는 이 적혀 있습니다. 처음에는 모든 카드가 숫자가 적힌 면이 위를 향하도록 놓여 있습니다.
아치볼드는 번의 조작을 합니다. 번째 조작에서는 맨 위의 카드 장을 한꺼번에 집어 든 뒤, 그 묶음 전체를 통째로 뒤집어(순서가 반대로 뒤바뀌고 각 카드의 앞뒷면도 뒤집힘) 다시 묶음의 맨 위에 올려놓습니다.
번의 조작이 모두 끝난 뒤, 지정된 몇 장의 카드가 각각 어느 위치에 있고 어느 면이 위를 향하는지 구하세요.
입력
첫째 줄에 두 정수 과 이 공백으로 구분되어 주어집니다 (, ). 각각 카드의 수와 조작 횟수입니다.
이어지는 개의 줄에는 각 조작에서 뒤집는 맨 위 카드의 장수 가 한 줄에 하나씩 주어집니다 ().
그다음 줄에는 질의의 개수 가 주어집니다 ().
이어지는 개의 줄에는 각 줄마다 정수 하나가 주어지며, 이는 최종 위치와 방향을 알고 싶은 카드에 적힌 숫자입니다.
출력
정확히 개의 줄을 출력합니다. 번째 질의에 대해, 해당 카드의 맨 위에서부터 센 최종 위치를 라 합시다(맨 위 카드가 번). 그 카드의 숫자가 위를 향하면 를, 아래를 향하면 를 출력합니다.