베시 셔플
시간 제한1초메모리 제한128 MB
맨 위 M장을 주어진 순열대로 섞은 뒤 맨 위 카드를 더미에 쌓는 과정을 반복할 때 질의한 위치의 카드 번호를 구합니다.
문제
베시는 카드 마술을 연습한다. 베시 셔플은 이미 완벽하게 익혔다. 베시 셔플은 카드 장을 한 번에 섞는 방법으로, 위에서 번째 카드를 위에서 번째 자리로 보낸다.
이제 베시는 더 큰 덱으로 연습한다. 덱에는 번부터 번까지 번호가 붙은 카드 장이 있다. 베시는 덱의 맨 위 장을 집어 베시 셔플을 한 다음 그대로 덱 위에 다시 얹는다. 그리고 맨 위 카드 한 장을 빼서 뒤집어 내려놓는다. 카드가 다 떨어질 때까지 이 동작을 반복하며, 새로 빼낸 카드는 앞서 내려놓은 카드 위에 쌓는다. 남은 카드가 장보다 적어지면 베시 셔플은 하지 않고, 맨 위 카드를 빼서 쌓는 동작만 이어 간다.
처음 덱은 번호순으로 정렬되어 있다. 맨 위가 번, 그다음이 번, 맨 아래가 번이다. 베시 셔플이 주어질 때, 카드를 모두 내려놓아 완성된 더미에서 위에서 번째 자리에 놓인 카드의 번호를 각각 구하라.
입력
첫째 줄에 , , 가 공백으로 구분되어 주어진다(, ).
다음 개 줄 중 번째 줄에는 베시 셔플에서 위에서 번째 카드가 옮겨 가는 자리 가 주어진다(). 는 부터 까지의 순열이다.
이어지는 개 줄 중 번째 줄에는 질의 가 하나씩 주어진다().
출력
개 줄을 출력한다. 번째 줄에는 완성된 더미에서 위에서 번째에 놓인 카드의 번호를 출력한다.
힌트
카드 장이 위에서부터 순서로 쌓여 있고, 셔플이 카드 장을 대상으로 하며 맨 위 카드를 맨 아래로 보내는 경우를 보자. 진행 과정은 다음과 같다.
- , 를 내려놓는다
- , 을 내려놓는다
- , 을 내려놓는다
- , 남은 카드가 장보다 적으므로 셔플 없이 를 내려놓는다
- , 를 내려놓는다
완성된 더미는 위에서부터 이다.