시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
한 승객이 인화철도 997의 한 칸에 타고 있다.
이 열차의 각 칸은 불이 붙으면 폭발한다. 어떤 칸이 시간 t에 폭발하면, 시간 t+1에 왼쪽과 오른쪽 이웃 칸으로 불이 옮겨 가려고 한다. 이때 두 칸 사이에 발화 방지 물질이 남아 있으면 그 물질 하나가 사라지고, 불은 그 방향으로 넘어가지 못한다. 남아 있는 발화 방지 물질이 없으면 이웃 칸이 시간 t+1에 폭발한다.
같은 칸은 여러 번 폭발할 수 있지만, 같은 시각에는 한 번만 폭발한다. 예를 들어 이전 시각에 2번 칸과 4번 칸이 폭발했더라도, 다음 시각의 3번 칸에서는 폭발이 한 번만 일어난다.
승객이 탄 칸이 폭발하는 순간 승객도 위험해진다. 칸 사이에 놓인 발화 방지 물질의 개수와 처음 불이 붙는 칸이 주어질 때, 승객이 탄 칸이 몇 시각에 폭발하는지 구하라.
열차 칸은 0번부터 n번까지 있다. 0번 칸과 1번 칸은 직접 연결되어 있으며, 이 둘 사이에는 발화 방지 물질이 없다. 처음 불이 붙는 칸 k와 승객이 탄 칸 c는 1번부터 n번 사이의 칸이다.
첫째 줄에 테스트 케이스의 개수 T가 주어진다. T는 100 이하이다.
각 테스트 케이스는 한 줄에 n, k, c와 n-1개의 정수가 주어진다. k는 처음 불이 붙는 칸, c는 승객이 탄 칸이다. 이어지는 n-1개의 정수 중 i번째 수는 i번 칸과 i+1번 칸 사이에 놓인 발화 방지 물질의 개수이다.
n은 1,000 이하이고, 입력으로 주어지는 모든 정수는 int 범위에 들어간다.
각 테스트 케이스마다 승객이 탄 칸이 폭발하는 시각을 한 줄에 출력한다. 폭발할 가능성이 없다면 gg를 출력한다.