Надійна безпека
Аліса і Боб отримали карту секретного підземного об'єкта. Об'єкт складається з підрозділів безпеки та хімічних лабораторій, з'єднаних двонаправленими тунелями. Карта цього об'єкта утворює дерево: рівно тунелів, циклів немає. Вершини, що відповідають підрозділам безпеки, мають номери від до , хімічні лабораторії мають номери від до . Кожен тунель з'єднує блок безпеки з хімічною лабораторією; немає тунелів між двома підрозділами охорони або двома хімічними лабораторіями.
На випадок, якщо Алісу або Боба спіймають, вони вирішили розділити карту на дві частини. Для цього вони обчислили код Прюфера дерева. Потім Аліса зберегла деякі числа між і у своєму сховищі даних у тому ж порядку, в якому вони йдуть в початковому коді, а Боб зберіг деякі числа від до у його сховищі таким же чином.
Код Прюфера для дерева з вершин являє собою послідовність цілих чисел від до , побудовану наступним чином. Знайдіть лист (вершину ступеня один) з найменшим номером, видаліть його з дерева, потім виведіть номер його єдиного сусіда. Повторіть цю операцію ще рази, поки не залишиться лише одне ребро. Виведена послідовність з номерів вершин є кодом Прюфера.
Аліса і Боб благополучно повернулися і готові об'єднати свої дані, щоб відновити початкову карту. Вони можуть помилитися під час резервного копіювання, що означає, що такої карти не існує. Алісі і Бобу потрібна Ваша допомога, щоб відновити будь-яку можливу карту об'єкта відповідно до зібраних даних, щоб частини Аліси і Боба були підпослідовностями коду Прюфера карти.
Вхідні дані
Перша рядок містить чотири цілі числа і .
Друга рядок містить цілих чисел — частина карти Аліси.
Третя рядок містить цілих чисел — частина карти Боба.
Вихідні дані
Якщо такої карти не існує, виведіть "No".
В іншому випадку виведіть "Yes" в першому рядку, а потім рядків, що описують можливу карту об'єктів.
Кожен рядок повинен містити два цілі числа і — блок охорони і хімлабораторія, з'єднані -м тунелем об'єкта.
Приклади
Код Прюфера для дерева в першому прикладі має вигляд: .