Вы наконец проснулись после такого невероятного сна и решили немного прогуляться на свежем воздухе. Снаружи вы увидели забор вашего дома — такой скучный, что вам захотелось его перекрасить.
У вас есть забор, состоящий из \(n\) досок, и \(i\)-я доска покрашена в цвет \(a_i\). Вы хотите перекрасить забор так, чтобы \(i\)-я доска стала цвета \(b_i\).
Для этого вы пригласили \(m\) маляров: \(j\)-й маляр придет в момент времени \(j\) и перекрасит ровно одну доску в цвет \(c_j\). Вы можете сказать каждому маляру, какую именно доску перекрасить, но вы не можете отказаться от его услуг, т. е. каждый маляр обязан покрасить ровно одну доску.
Можете ли вы получить желаемую раскраску \(b\)? Если это возможно, выведите для каждого маляра номер доски, которую он должен покрасить.
Выходные данные
Для каждого набора входных данных, выведите «NO», если невозможно получить раскраску \(b\).
В противном случае выведите «YES» и \(m\) целых чисел \(x_1, x_2, \dots, x_m\), где \(x_j\) — это номер доски, которую должен перекрасить \(j\)-й маляр.
Ответ можете выводить в любом регистре (например, строки «yEs», «yes», «Yes» и «YES» будут распознаны как положительный ответ на запрос).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
6 1 1 1 1 1 5 2 1 2 2 1 1 1 2 2 1 1 1 2 3 3 2 2 2 2 2 2 2 3 2 10 5 7 3 2 1 7 9 4 2 7 9 9 9 2 1 4 9 4 2 3 9 9 9 7 4 3 5 2 1 2 2 1 1 1 2 2 1 1 3 3 6 4 3 4 2 4 1 2 2 3 1 3 1 1 2 2 3 4
|
YES
1
YES
2 2
YES
1 1 1
YES
2 1 9 5 9
NO
NO
|