뒤집기

배열의 앞부분 또는 뒷부분을 뒤집는 연산을 여러 번 적용한 뒤, 처음 K번째에 있던 원소가 최종적으로 몇 번째 위치로 이동하는지 구한다.

보통6배열구현시뮬레이션수학면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

NN개의 수로 이루어진 배열 AA가 있다. 배열의 인덱스는 1부터 시작한다. 이 배열에 연산을 MM번 적용할 때, 가장 처음에 KK번째에 있던 수가 모든 연산이 끝난 뒤 몇 번째 위치로 이동하는지 구하는 프로그램을 작성하시오.

배열에 적용할 수 있는 연산은 0이 아닌 정수 ii 하나로 이루어져 있다. ii가 양의 정수인 경우에는 배열 AA의 처음 ii개의 순서를 뒤집고, ii가 음의 정수인 경우에는 마지막 i-i개의 순서를 뒤집는다.

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

입력

첫째 줄에 배열 AA의 크기 NN (1N100,0001 \le N \le 100{,}000)과 위치 KK (1KN1 \le K \le N), 연산의 개수 MM (1M100,0001 \le M \le 100{,}000)이 주어진다.

둘째 줄에는 배열 AA에 들어있는 수가 1번째 수부터 순서대로 주어진다. 배열에 들어있는 수는 100,000보다 작거나 같은 자연수이다. 배열에는 같은 수가 여러 번 들어있을 수도 있다.

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

출력

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