시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 (하단 참고) 512 MB 17 13 10 83.333%

문제

N개의 수로 이루어진 배열 A가 있다. 배열의 인덱스는 1부터 시작한다. 배열에 연산을 총 M번 적용하려고 한다. 이때, 가장 처음에 K번째에 있던 수가 모든 연산이 종료된 후 몇 번째 위치로 이동하는지 구하는 프로그램을 작성하시오.

배열에 적용할 수 있는 연산은 정수 i 하나로 이루어져 있다.

i가 양의 정수인 경우에는 배열 A의 처음 i개의 순서를 뒤집는 것이고, i가 음의 정수인 경우에는 마지막 -i개의 순서를 뒤집는 것이다.

예를 들어, N = 5이고, A = [1, 3, 2, 4, 5]인 경우에 연산 3을 적용하면, 배열 A는 [2, 3, 1, 4, 5]가 된다. 여기에 연산 -4를 적용하면, 뒤의 4개를 순서를 뒤집어 [2, 5, 4, 1, 3]이 된다. 가장 처음에 1번째 위치에 있던 수는 4번째 위치로 이동하게 되고, 3번째 위치에 있던 수는 1번째 위치로 이동하게 된다.

입력

첫째 줄에 배열 A의 크기 N(1 ≤ N ≤ 100,000)과 위치 K(1 ≤ K ≤ N), 연산의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 둘째에는 배열 A에 들어있는 수가 1번째 수부터 순서대로 주어진다. 배열에 들어있는 수는 100,000보다 작거나 같은 자연수이다. 배열에는 같은 수가 여러 번 들어있을 수도 있다.

셋째 줄부터 M개의 줄에는 연산을 나타내는 정수 i가 한 줄에 하나씩 주어진다. i는 절댓값이 N보다 작거나 같은 0이 아닌 정수이다.

출력

첫째 줄에 K번째 수가 연산 M번이 완료된 후에 몇 번째 위치로 이동했는지 출력한다.

예제 입력 1

5 1 2
1 3 2 4 5
3
-4

예제 출력 1

4

예제 입력 2

5 3 2
5 5 5 5 5
3
-4

예제 출력 2

1

예제 입력 3

4 4 8
10 20 15 25
1
-2
3
-4
-1
2
-3
4

예제 출력 3

3

예제 입력 4

10 1 6
9 8 1 2 8 7 3 4 6 6
9
-9
8
-8
7
-7

예제 출력 4

1

예제 입력 5

5 2 5
7 6 5 4 3
3
-3
3
-3
3

예제 출력 5

2

예제 입력 6

5 3 2
5 5 5 5 5
4
-3

예제 출력 6

2

시간 제한 안내

아래 적혀있지 않은 시간 제한은 언어 도움말에 적혀있는 기준을 따른다.

  • Python 3: 12초
  • PyPy3: 12초
  • Python 2: 12초
  • PyPy2: 12초

채점

  • 예제는 채점하지 않는다.