벽돌 줄 세우기

아직 제출이 없습니다시간 제한3초메모리 제한256 MB

문제

비티와 친구들은 어제 하루 종일 유치원에서 색깔 벽돌을 가지고 놀았다. 처음에는 건물 모형을 만들었지만 금방 싫증이 나서, 벽돌을 한 줄로 늘어놓기로 했다. 줄이 밋밋해 보이지 않도록 같은 색 벽돌은 서로 옆에 두지 않았고, 한참 만에 모든 벽돌을 이 규칙대로 늘어놓는 데 성공했다. 그리고 하원 시간이 되어 아이들은 집으로 돌아갔다.

오늘 아침 일찍 유치원에 온 비티는 어제 만든 줄이 그대로 남아 있는 것을 보고 기뻐했다. 그런데 하필 그 줄 위로 넘어지는 바람에 벽돌이 모두 흐트러져 한 무더기가 되었다. 비티는 벽돌을 색깔별로 모아 놓고, 어떻게 하면 완벽한 줄을 빨리 다시 만들 수 있을지 고민한다. 다행히 줄의 양 끝에 놓여 있던 벽돌 두 개의 색은 기억하고 있다.

비티가 가진 색깔별 벽돌 개수와 양 끝 벽돌의 색이 주어진다. 이웃한 두 벽돌의 색이 서로 다르고, 첫 벽돌의 색이 pp, 마지막 벽돌의 색이 qq인 줄을 만들어라. 비티가 색을 잘못 기억했을 수도 있고 넘어진 뒤 찾지 못한 벽돌이 있을 수도 있어서, 줄을 다시 만들지 못하는 경우도 있다.

입력

첫째 줄에 벽돌 색의 개수 kk, 줄의 첫 벽돌 색 pp, 마지막 벽돌 색 qq가 공백 하나로 구분되어 주어진다. (1k1061 \le k \le 10^6, 1p,qk1 \le p, q \le k)

둘째 줄에 kk개의 정수 i1,i2,,iki_1, i_2, \dots, i_k가 공백 하나로 구분되어 주어진다. iji_j는 비티가 가진 색 jj 벽돌의 개수다. (1ij1061 \le i_j \le 10^6)

벽돌의 총 개수 n=i1+i2++ikn = i_1 + i_2 + \dots + i_k10610^6 이하다.

출력

조건을 만족하는 줄에 놓인 벽돌의 색을 앞에서부터 nn개, 공백 하나로 구분해 한 줄에 출력한다. 첫 벽돌의 색은 pp, 마지막 벽돌의 색은 qq이고, 이웃한 두 벽돌의 색은 서로 달라야 한다.

조건을 만족하는 줄이 여럿이면 그중 사전순으로 가장 앞서는 줄 하나만 출력한다. 조건을 만족하는 줄이 하나도 없으면 정수 0 하나만 출력한다.

노트

길이가 같은 두 줄 AABB를 비교할 때는 색이 처음으로 달라지는 자리를 본다. 그 자리에 더 작은 색 번호가 놓인 줄이 사전순으로 앞선다.