Для встановлення пакетів в ОС Vinux Vasya використовує Vum, сучасний менеджер пакетів.
Кожен пакет має кілька версій, які можна встановити. Одночасно можна встановити лише одну версію застосунку. Назвімо конкретну версію конкретного застосунку пакетом. Оскільки конкретні версії різних застосунків можуть бути несумісними між собою, у Vum існують конфлікти. Кожен конфлікт — це множина пакетів, з якої можна встановити не більше одного пакета. Спроба встановити більше одного пакета зі списку конфлікту призводить до збою системи, а Vasya цього не хоче.
Різні версії будь-якого застосунку можуть конфліктувати або не конфліктувати. До одного конфлікту можуть входити кілька версій застосунку, зокрема всі його версії.
Оскільки система опису конфліктів у Vum досить примітивна, кожен пакет може бути вказаний лише в одному конфлікті.
Vasya хоче встановити $N$ різних застосунків, не спричинивши збою свого Vinux. Він має обрати версії застосунків, не порушуючи наведених вище правил, але перебірні алгоритми розв'язання залежностей у Vum не справляються з цим завданням. Vasya просить допомогти з його менеджером пакетів.
Вхідні дані
Перший рядок вхідного файлу містить ціле число $N$ — кількість застосунків, які Vasya хоче встановити ($1 \le N \le 200$).
Наступні $N$ рядків містять описи застосунків зі списками їхніх версій. Опис застосунку складається з таких полів, розділених пробілами:
- назва застосунку — рядок малих латинських літер завдовжки від 1 до 10 символів;
- кількість версій — додатне ціле число, не більше за $1\,000$;
- номери версій — додатні цілі числа, перелічені за зростанням.
Номери застосунків не перевищують $100\,000$. Усі назви застосунків різні.
Наступний рядок містить число $K$ — кількість конфліктів ($0 \le K \le 500$).
Наступні $K$ рядків описують конфлікти. Опис конфлікту починається з додатного цілого числа $T$ — кількості пакетів у конфлікті. Далі перелічено $T$ пакетів, розділених пробілами. Для кожного пакета наводиться назва застосунку, а потім номер версії.
Гарантується, що пакети, перелічені в конфліктах, ніколи не повторюються і всі версії згадані в описах застосунків.
Вихідні дані
Якщо неможливо встановити всі $N$ застосунків без конфліктів, єдиний рядок вихідного файлу має містити слово No. Якщо можливо, перший рядок має містити слово Yes, а другий — розділені пробілами номери версій, які потрібно для цього встановити.
Версії для $N$ застосунків треба вивести в тому самому порядку, у якому застосунки описані у вхідному файлі. Якщо існує кілька способів вибору застосунків, виведіть будь-який із них.
Приклади
Вхідні дані 1
3 vim 3 1 2 3 nano 2 5 8 python 2 2 3 2 2 vim 3 nano 8 3 vim 1 nano 5 vim 2
Вихідні дані 1
Yes 2 8 2
Вхідні дані 2
2 firefox 1 38 chrome 1 46 1 2 firefox 38 chrome 46
Вихідні дані 2
No
Примітка
Перший приклад містить два конфлікти. Перший забороняє одночасно встановити третю версію vim і восьму версію nano. Другий означає, що можна встановити лише один із таких пакетів — першу версію vim, п'яту версію nano та другу версію vim — або не встановлювати жодного. Правильні розв'язки такі:
1 8 21 8 32 8 22 8 33 5 23 5 3
У другому прикладі є два застосунки, кожен має лише одну версію. Проте єдиний конфлікт забороняє встановити обидва застосунки разом.