시간 제한
메모리 제한
시간 제한
1초
메모리 제한
256 MB
N개의 부대가 있고, 각 부대에는 현재 몇 명의 군인이 있는지 주어진다. 군인은 1번 부대부터 N번 부대까지 차례대로 배치되며, 한 부대의 모든 군인이 배치된 뒤 다음 부대의 군인이 이어진다. 따라서 어떤 군번의 군인이 속한 부대는 각 부대 인원의 누적합으로 결정된다.
전쟁이 길어지면서 한 부대의 인원이 늘거나 줄 수 있다. 인원이 바뀔 때마다 모든 군인은 현재 인원수에 맞추어 1번 부대부터 다시 배치된다고 생각한다.
명령은 두 종류이다.
1 i a: i번 부대의 인원을 a명만큼 바꾼다. a가 양수이면 증원, 음수이면 감원이다. 감원 뒤 인원이 음수가 되는 입력은 주어지지 않는다.2 i: 현재 배치에서 군번 i인 군인이 속한 부대 번호를 묻는다.모든 2번 명령에 대해 해당 군인이 속한 부대 번호를 출력하는 프로그램을 작성하라.
첫째 줄에 부대의 개수 N (1 ≤ N ≤ 500,000)이 주어진다.
둘째 줄에는 각 부대의 초기 군인 수를 나타내는 N개의 정수가 주어진다. 각 값은 1000 이하의 자연수이다.
셋째 줄에 명령의 개수 M (1 ≤ M ≤ 10,000)이 주어진다.
다음 M개 줄에는 명령이 한 줄에 하나씩 주어진다.
1 i a 명령에서 a는 |a|가 1 이상 3,000 이하인 정수이다. 2 i 명령에서 i는 현재 전체 군인 수 이하인 자연수이다.
각 2번 명령마다, 해당 군인이 속한 부대 번호를 한 줄에 하나씩 출력한다.