Ресторани
Усі раді повернутися на вулиці та в ресторани Парижа. Проте наразі кількість місць у ресторанах дуже обмежена. Ми хочемо, щоб обидва ресторани могли прийняти якомога більше людей, і щоб клієнти займали бажані ними місця.
Є клієнтів з номерами від до і ресторанів з номерами від до . Кожен клієнт бронює столик у певному підмножині ресторанів і надає свій список бронювань, упорядкований за вподобаннями. Кожен ресторан ранжує отримані бронювання в певному порядку вподобань — наприклад, ресторан може бажати, щоб клієнти, які зареєструвалися першими, мали вищий рейтинг. Кожен ресторан також має місткість , тобто максимальну кількість клієнтів, яку він може обслуговувати.
Ваше завдання — знайти такий розподіл частини відвідувачів у ресторанах, щоб виконувалися наступні умови:
1. Жоден ресторан не вміщує більше відвідувачів, ніж його місткість.
2. Кожному клієнту надається столик не більше ніж в одному ресторані.
3. Не існує ресторану і клієнта , який забронював столик у , такого, що:
не надали столик або він надає перевагу ресторану, в якому йому надали столик, і
в залишилося кілька місць або заповнений, але надає перевагу хоча б одному з призначених йому клієнтів.
Інші зауваження, на які слід звернути увагу:
Кожен клієнт зробив хоча б одне бронювання.
Ресторани ранжують лише клієнтів, які зробили у них бронь. Можливо, в ресторані немає клієнтів, які бажають забронювати столик.
Вхідні дані
Перший рядок містить числа і .
Наступні рядків описують місткості, причому -й рядок містить ціле число — місткість ресторану .
Далі слідують рядків. -й рядок описує список резервувань для клієнта , відсортований за вподобаннями: рядок містить список різних цілих чисел (від до ), від найбільш вподобаних до найменш вподобаних.
Далі слідують рядків. -й рядок описує відсортовані вподобання ресторану . Цей рядок містить або число , коли жоден клієнт не забронював столик у ресторані , або список різних цілих чисел — список клієнтів, які зробили замовлення в ресторані , упорядкований від найбільш до найменш вподобаного рестораном.
Загальна кількість варіантів бронювання становить не більше .
Вихідні дані
Виведіть набір клієнтів, для яких є можливий розподіл (відповідно до наведених вище правил). Набір задається по одному клієнту в окремому рядку, відсортований за зростанням їх .