Арсен командует отрядом из $$$n$$$ игрушечных солдат. Каждое утро и каждый вечер проводится построение. На каждом построении каждому солдату выдают ружье одного из $$$n$$$ видов.
Перед началом дня у Арсена есть два частично заполненных расписания: $$$a_1,\ldots,a_n$$$ и $$$b_1,\ldots,b_n$$$. Здесь $$$a_i$$$ — вид ружья, который получает $$$i$$$-й солдат на утреннем построении, а $$$b_i$$$ — вид ружья, который он получает на вечернем построении. Если $$$a_i$$$ или $$$b_i$$$ равно $$$-1$$$, это означает, что вид ружья на соответствующее построение ещё не назначен. Арсен может заменить каждое $$$-1$$$ любым числом от $$$1$$$ до $$$n$$$.
После того, как расписания выдачи ружей полностью определены, Арсен проводит еще один ритуал: он решает для каждого солдата, выдать ему мыло или нет. Формально, он создает бинарный массив $$$c$$$, где $$$c_i = 0$$$ или $$$c_i = 1$$$. Этот массив должен удовлетворять двум условиям баланса:
Помогите Арсену определить, можно ли так дозаполнить расписания $$$a$$$ и $$$b$$$ (заменив все $$$-1$$$ на числа от $$$1$$$ до $$$n$$$), чтобы существовал хотя бы один способ выдачи мыла (массив c), удовлетворяющий условиям баланса. Если это возможно, восстановите пример подходящих массивов $$$a$$$, $$$b$$$ и $$$c$$$.
Первая строка содержит целое число $$$n$$$ ($$$1 \le n \le 10^6$$$) — количество солдат.
Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le n$$$ или $$$a_i = -1$$$) — назначения ружей для утреннего построения.
Третья строка содержит $$$n$$$ целых чисел $$$b_1, b_2, \ldots, b_n$$$ ($$$1 \le b_i \le n$$$ или $$$b_i = -1$$$) — назначения ружей для вечернего построения.
В первой строке выведите «Yes», если можно дозаполнить массивы $$$a$$$ и $$$b$$$, чтобы пара массивов стала хорошей. В противном случае выведите «No».
Если ответ «Yes», выведите три дополнительные строки:
Если существует несколько возможных ответов, выведите любой из них.
6-1 1 -1 2 -1 21 -1 2 -1 2 -1
YES 1 1 1 2 1 2 1 1 2 1 2 1 0 1 0 1 1 0
41 1 1 11 1 1 2
NO
| Название |
|---|


