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

Кактус встречается с Тором

Кактус встречается с Тором

У Алисы есть красивая диаграмма кактуса, которую она хотела бы разместить на листе бумаги. Ева угрожает взять один цикл этого кактуса и разрезать бумагу по всем краям этого цикла. Таким образом, лист бумаги разделится на две части, и Алиса расстроится. К счастью, Барбара только что дала Алисе бумажный тор - лист бумаги, в котором верхний и нижний края, а также левый и правый края соединены без скручивания. На торе иногда можно разрезать бумагу по всем ребрам на цикле, но она все равно останется одним куском. Помогите Алисе определить, сможет ли она разместить свой кактус на торе так, чтобы Ева не смогла разрезать бумагу по одному циклу, разделяющему тор на две несоединенные части.

Кактус - это связный неориентированный граф, в котором каждое ребро лежит не более чем на одном простом цикле. Интуитивно, кактус - это обобщение дерева, в котором разрешены некоторые циклы. Мультиребра (множество ребер между парой вершин) и петли (ребра, соединяющие вершину с самой собой) не допускаются в кактусе.

Мы говорим, что граф размещен на листе бумаги, если каждая его вершина является точкой на этом листе, каждое ребро является отрезком между точками, соответствующими его вершинам, и эти отрезки пересекаются только на своих концах. На торе отрезки могут проходить через границы листа любое количество раз.

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

Состоит из одного или нескольких тестов.

Первая строка каждого теста содержит два целых числа n и m (1n105, 0m105), где n - количество вершин в графе. Вершины пронумерованы от 1 до n. Ребра графа представлены набором путей из непересекающихся ребер, где m - количество таких путей.

Каждая из следующих m строк содержит путь в графе. Путь начинается с целого числа si (2si1000), за которым следуют si целых чисел от 1 до n. Эти si целых чисел представляют собой вершины пути. Смежные вершины пути различны. Путь может проходить через одну и ту же вершину несколько раз, но каждое ребро встречается в каждом тесте ровно один раз. В графе нет мультиребер (между любыми двумя вершинами существует не более одного ребра).

Последняя строка содержит два нуля и не обрабатывается.

Все входные графы являются кактусами. Общая сумма всех значений n и общая сумма всех значений m не превышают 105.

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

Для каждого теста выведите ответ в том же порядке, в котором они появляются во входных данных. Для каждого теста выведите одну строку с "Yes", если Вы можете разместить заданный кактус на торе, или выведите "No" иначе.

prb11322.gif

Лимит времени 2 секунды
Лимит использования памяти 256 MiB
Входные данные #1
6 1
8 1 2 3 1 4 5 6 4
10 2
9 1 2 3 1 10 4 5 6 4
5 7 8 9 7 10
0 0
Выходные данные #1
Yes
No
Источник 2022 ICPC, NERC, Декабрь 7