eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Проблема подорожі Шумейкера

Проблема подорожі Шумейкера

Колись існувала дуже мирна країна, яка називалась Енлогенія. У ті далекі часи Полі Шумейкер міг прийти у країну і вільно подорожувати з міста у місто, причому робити це без будь-яких перешкод. Ця задача була дуже проста, так як кожне місто в Енлогенії було з'єднано прямою дорогою з довільним іншим містом у країні. Він міг з легкістю подорожувати по усій ктрїні, відвідувати кожне місто рівно один раз і вивчати взуття усіх жителів. Але не зараз. Часи змінились і пришла війна у Енлогенію. Період, коли люди могли вільно подорожувати, завершився. По усій країні було сформовано конфедерації певних кольорів, і тепер кожне місто належить по меншій мірі одній і не більше двох конфедерацій. При спробі увіти в місто, ви повинні здати на кордоні офіцеру квиток однієї з конфедерацій, яким це місто належить. При виїзді з міста, ви отримуєте квиток, який належить іншій конфедерації, до якої місто належить (тобто він відрізняється від того, який ви здали при вході) або ж тієї ж самої конфедерації, якщо місто належить лише одній конфедерації. Так як Полі Шумейкер є давнім другом Енлогенії, він має право обрати квиток і місто, у яке він хоче увійти у якості першого міста країни, але після цього він повинен дотримуватись правил конфедерації. Він хоче здійснити ту ж саму подорож, яку він робив раніше, відвідавши кожне місто лише один раз в Енлогенії, але тепер це не легко йому зробити, хоча він може вибрати, з якого міста ропочати свій шлях. Наприклад, припустимо, що у країні є чотири міста, позначені числами від \textbf{0} до \textbf{3}. Місто \textbf{0} належить конфедераціям червоних та зелених; місто \textbf{1} належить лише червоним, місто \textbf{2} відноситься до зелених та жовтих, а місто \textbf{3} відноситься до синіх та червоних. Якщо Полі Шумейкер бажає розпочати у місті \textbf{0}, то він зможе увійти у нього, віддавши червоний або зелений квиток і отримати при виході інший. Якщо він обрав червоний квиток, він піде з зеленим квитком, тоді є єдине місто \textbf{2}, у яке він може поїхати. При виїзді з міста \textbf{2} він отримує жовтий квиток і тепер він не може поїхати у інше місто. Якби він вибрав зелений квиток у якості першого, він отримав би червоний при виїзді, і тоді він зміг би подорожувати у місто \textbf{1} або \textbf{3}. Якщо ж він вибере місто \textbf{3}, при виході він отримає синій квиток і знову не зможе піти у інше місто. Якщо ж він вибере місто \textbf{1}, то він отримає червоний квиток назад при виході (місто \textbf{1} належить лише червоній конфедерації) і зможе подорожувати лише в місто \textbf{3} і ніколи не дійде до міста \textbf{2}. Таким чином, не можливо відвідати кожне місто рівно один раз, починаючи з міста \textbf{0}. Проте, почавши з міста \textbf{2} з жовтим квитком, залишивши місто з зеленим квитком, а потім відвідавши місто \textbf{0}, залишивши червоний квиток, а потім відвідати місто \textbf{1}, залишивши знову червоний квиток знову і, нарешті, відвідати місто \textbf{3}, можна відвідати усі міста країни. Як ви можете бачити, Полі Шумейкер отримав дуже важко розв'язувану задачу, тому він просить вас допомогти йому. Він хоче знати, чи можна обрати таке місто, щоб розпочавши подорож з нього, він зможе побувати в усіх містах Енлогенії рівно один раз. Можете ли вы помочь Поли Шумейкеру? \InputFile Вхіні дані містять декілька тестів. Перший рядок кожного тесту містить два цілих числа \textbf{N} і \textbf{C}, відокремлених одним пропуском, які вказують, відповідно, кількість міст (\textbf{1} ≤ \textbf{N} ≤ \textbf{500}) і конфедерацій (\textbf{1} ≤ \textbf{C} ≤ \textbf{100}) у країне. Кожен з наступних \textbf{C} рядків описує конфедерацію. Опис починається з цілого числа \textbf{K} (\textbf{0} ≤ \textbf{K} ≤ \textbf{N}), за яким йде \textbf{K }цілих чисел, які подають міста, що належать до цієї конфедерації. Усі вхідні дані цілі числа, відокремлені одним пропуском, міста пронумеровано від \textbf{0} до \textbf{N-1}. Кожне місто з'явиться в описах хоча б один раз і не більше двох разів, також гарантується, що жодне місто не буде повторюватись в опису належності до однієї конфедерації. На завершення вхідних даних вказує рядок, який містить два нуля, відокремлених одним пропуском. \OutputFile Для кожного тесту отриманого на вході, ваша програма повинна вивести один рядок, який містить ціле число \textbf{-1}, якщо не можливо здійснити можливим здійснити вказану подорож, у відповідності з вказаними вимогами, або ж одне ціле число с номером міста, з якого Полі Шумейкер може почати свою подорож. Якщо є декілька правильних відповідей, виведіть найменшу.
Ліміт часу 1 секунда
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
4 4
1 3
3 0 1 3
2 0 2
1 2
3 4
1 0
3 0 1 2
1 1
1 2
3 4
1 1
2 1 0
2 0 2
1 2
0 0
Вихідні дані #1
2
-1
1