개구리

면접 대비

시간 제한1초메모리 제한128 MB

요약
원형으로 배치된 개구리들에서 지정된 개구리가 앞의 개구리와 B번 자리를 바꾸는 과정을 모두 시뮬레이션한 뒤, 1번 개구리부터 시작하는 최종 배열을 출력합니다.
난이도

쉬움10점 중 3점

유형
시뮬레이션, 배열
정답자
아직 제출이 없습니다

문제

개구리 섭정은 NN마리의 개구리 신하를 원형으로 세워 두었고, 각 개구리는 바로 앞에 있는 개구리의 등을 바라보고 있습니다. 모든 개구리는 11부터 NN까지의 서로 다른 정수 번호(ID)를 하나씩 가지고 있습니다.

배열은 번호의 수열로 표기하며, 항상 번호가 11인 개구리에서 시작합니다. 이어서 11번 바로 앞의 개구리, 그 앞의 개구리 순으로 원을 한 바퀴 돌아, 마지막으로 11번 개구리 바로 뒤에 있는 개구리로 끝납니다.

개구리가 바로 앞에 있는 개구리 한 마리를 뛰어넘어 그 개구리와 자리를 맞바꾸는 것을 한 번의 도약이라고 합니다. 개구리들은 원형으로 서 있으므로, 표기된 수열에서 맨 마지막 개구리의 바로 앞은 다시 11번 개구리입니다. 섭정이 수 BB를 외치면, 번호가 BB인 개구리가 연속해서 정확히 BB번 도약합니다.

예를 들어 배열 1 5 4 3 2 6에서 22를 외치면 22번 개구리가 22번 도약하여 배열이 1 2 5 4 3 6이 됩니다. 배열은 항상 11번 개구리로 시작하도록 다시 씁니다.

섭정은 여러 번의 외침을 순서대로 내립니다. 시작 배열과 외침 목록 전체가 주어질 때, 모든 외침을 순서대로 수행한 뒤 개구리들의 최종 배열을 구하세요.

입력

첫째 줄에 개구리의 수 NN이 주어집니다 (3≤N≤1003 \le N \le 100).

둘째 줄에 시작 배열이 주어집니다. 11번 개구리로 시작하는 11부터 NN까지의 순열입니다.

셋째 줄에 외침의 횟수 QQ가 주어집니다 (0≤Q≤100 0000 \le Q \le 100\,000).

넷째 줄에 섭정이 외치는 순서대로 QQ개의 정수 B1,B2,…,BQB_1, B_2, \dots, B_Q가 주어집니다 (1≤Bi≤N1 \le B_i \le N). Q=0Q = 0이면 이 줄은 비어 있습니다.

출력

모든 외침을 수행한 뒤의 최종 배열을 한 줄에 출력합니다. NN개의 정수를 공백 하나로 구분하며, 11번 개구리로 시작하도록 씁니다.

예제4

  1. 예제 1

    입력
    6
    1 5 4 3 2 6
    1
    2
    
    예상 출력
    1 2 5 4 3 6
    
  2. 예제 2

    입력
    5
    1 5 3 2 4
    4
    5 3 5 2
    
    예상 출력
    1 5 4 2 3
    
  3. 예제 3

    입력
    3
    1 2 3
    0
    
    
    예상 출력
    1 2 3
    
  4. 예제 4

    입력
    5
    1 2 3 4 5
    1
    4
    
    예상 출력
    1 2 3 4 5