C. Раздача конфет
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В детском саду в группе $$$n$$$ детей, пронумерованных от $$$1$$$ до $$$n$$$. Воспитательница дала $$$i$$$-му ребенку $$$a_i$$$ ($$$1 \leq a_i \leq n$$$) конфет. Дети сели в ряд в порядке от $$$1$$$ до $$$n$$$ слева направо и стали есть конфеты.

Во время поедания конфет $$$i$$$-й ребенок заметил, что нескольким детям, сидящим левее него, и нескольким детям, сидящим правее него, дали больше конфет, чем ему самому. Поэтому каждый ребенок посчитал по два числа $$$l_i$$$ и $$$r_i$$$ — количество детей слева от него, которым дали больше конфет, чем ему, и количество детей справа от него, которым дали больше конфет, чем ему.

Формально, $$$l_i$$$ есть количество индексов $$$j$$$ ($$$1 \leq j < i$$$), таких что $$$a_i < a_j$$$, а $$$r_i$$$ есть количество индексов $$$j$$$ ($$$i < j \leq n$$$), таких что $$$a_i < a_j$$$.

Каждый ребенок сказал воспитательнице посчитанные им числа $$$l_i$$$ и $$$r_i$$$. К сожалению, она уже забыла, сколько конфет кому она дала. Поэтому она просит помощи у вас — по массивам $$$l$$$ и $$$r$$$ определите, могла ли она дать детям конфеты так, что дети правильно посчитали свои значения $$$l_i$$$ и $$$r_i$$$, или кто-то из ребят точно ошибся, и она не могла так раздать конфеты. Если она могла раздать конфеты, то определите любой возможный способ того, как она могла это сделать.

Входные данные

В первой строке входных данных находится одно целое число $$$n$$$ ($$$1 \leq n \leq 1000$$$) — количество детей.

Во второй строке находится $$$n$$$ целых чисел $$$l_1, l_2, \ldots, l_n$$$ ($$$0 \leq l_i \leq n$$$), разделенных пробелами.

Во третьей строке находится $$$n$$$ целых чисел $$$r_1, r_2, \ldots, r_n$$$ ($$$0 \leq r_i \leq n$$$), разделенных пробелами.

Выходные данные

Если воспитательница не могла так раздать конфеты, и кто-то из детей точно ошибся в своих расчетах, то в единственной строке выведите «NO» (без кавычек).

Иначе в первой строке выведите «YES» (без кавычек), а во второй строке выведите $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$, разделённых пробелами — количества конфет, которые можно было выдать детям с номерами $$$1, 2, \ldots, n$$$, соответственно. Обратите внимание, что эти числа не обязаны быть различными, но для них должно выполняться ограничение $$$1 \leq a_i \leq n$$$. Также, должно быть выполнено, что количество детей левее $$$i$$$-го, которым дали больше конфет, чем ему, было равно $$$l_i$$$, а количество детей правее $$$i$$$-го, которым дали больше конфет, чем ему, было равно $$$r_i$$$. Если существует несколько способов раздать конфеты, найдите любой из них.

Примеры
Входные данные
5
0 0 1 1 2
2 0 1 0 0
Выходные данные
YES
1 3 1 2 1
Входные данные
4
0 0 2 0
1 1 1 1
Выходные данные
NO
Входные данные
3
0 0 0
0 0 0
Выходные данные
YES
1 1 1
Примечание

В первом примере, если раздать по $$$1$$$, $$$3$$$, $$$1$$$, $$$2$$$, $$$1$$$ конфет $$$1$$$, $$$2$$$, $$$3$$$, $$$4$$$, $$$5$$$ ребенку соответственно, то все значения, посчитанные детьми, совпадут со значениями из входных данных. Например, $$$5$$$-му ребенку дали $$$1$$$ конфету, левее него $$$2$$$ детям дали по $$$1$$$ конфете, $$$1$$$ ребёнку $$$2$$$ конфеты и $$$1$$$ ребенку $$$3$$$ конфеты, то есть всего $$$2$$$ детям левее него дали больше конфет, чем ему.

Во втором примере раздать конфеты невозможно, так как $$$4$$$-й ребёнок точно ошибся в подсчете значения $$$r_4$$$, ведь правее него нет детей, поэтому $$$r_4$$$ точно должно быть равно $$$0$$$.

В третьем примере все дети могли получить поровну конфет, поэтому все числа равны $$$0$$$. Обратите внимание, что каждый ребенок должен получить хотя бы одну конфету.