여러 세대의 아이들이 즐겨 온 간단한 보드게임이 있습니다. 보드에는 칸이 한 줄로 이어진 길이 있고, 색이 서로 다른 말들이 주어집니다. 각 참가자는 말 하나를 받으며, 모든 말은 처음에 길의 첫 번째 칸 바로 앞에 놓입니다.
게임은 라운드 단위로 진행됩니다. 각 라운드에서 참가자들은 정해진 순서(1번, 다음 2번, …)대로 주사위 두 개를 굴리고, 나온 두 눈의 합만큼 자신의 말을 앞으로 옮깁니다.
대부분의 칸은 평범하지만 일부는 함정입니다. 말이 이동을 마친 칸이 함정이면 그 참가자는 다음 라운드를 건너뛰어야 합니다. 즉 주사위를 굴리지 않고, 말도 한 라운드 동안 그대로 멈춰 있습니다.
길에는 함정이 정확히 세 개 있습니다.

자신의 말을 가장 먼저 길 끝 너머로 보낸 참가자가 승리합니다. 길의 끝은 마지막 칸 바로 뒤에 있습니다. 예를 들어 칸이 1번부터 48번까지 있는 보드에서, 41번 칸에 있는 말이 승리하려면 주사위 두 눈의 합이 8 이상이어야 48번 칸을 지나 끝에 도달합니다. 무승부는 절대 발생하지 않습니다.
참가자 수, 길의 칸 수, 세 함정의 위치, 그리고 주사위를 굴린 결과의 목록이 주어집니다. 어느 참가자가 이기는지 구하는 프로그램을 작성하세요.
입력은 여러 개의 테스트 케이스로 이루어집니다. 각 테스트 케이스의 첫 줄에는 정수 두 개 $P$와 $S$가 주어지며, 각각 참가자 수와 길의 칸 수를 의미합니다 ($1 \le P \le 10$, $3 \le S \le 10000$). 둘째 줄에는 서로 다른 정수 세 개 $T_1$, $T_2$, $T_3$이 주어지며, 함정의 위치를 나타냅니다 ($1 \le T_1, T_2, T_3 \le S$). 셋째 줄에는 정수 하나 $N$이 주어지며, 이 테스트에서 주사위를 굴린 횟수입니다. 이어지는 $N$개의 줄에는 각각 두 정수 $D_1$과 $D_2$ ($1 \le D_1, D_2 \le 6$)가 주어지며, 주사위 두 개를 굴린 결과입니다. 입력의 끝은 $P = S = 0$인 줄(즉 0 0)로 표시되며, 이 줄은 처리하지 않습니다.
참가자는 $1$번부터 $P$번까지 번호가 매겨지고, 매 라운드마다 $1, 2, \dots, P$ 순서로 차례를 진행합니다. 주사위 결과는 실제로 사용되는 순서 그대로 나열되어 있으며, 한 테스트에는 어떤 참가자가 이기기까지 필요한 만큼의 결과가 정확히 주어집니다.
각 테스트 케이스마다 이긴 참가자의 번호를 한 줄에 출력하세요.