Олимпиадный тренинг

Задача . F. Это цветок?


Влад обнаружил у себя во дворе клумбу с графами и решил взять один себе. Позже он узнал, что на той клумбе помимо обычных графов росли также \(k\)-цветки. Граф называется \(k\)-цветком если он состоит из простого цикла длины \(k\), через каждую вершину которого проходит свой простой цикл длины \(k\) и эти циклы не пересекаются по вершинам. Например \(3\)-цветок выглядит так:

Обратите внимание, что \(1\)-цветок и \(2\)-цветок не существуют, поскольку для формирования цикла нужно хотя бы \(3\) вершины.

Владу очень понравилась структура \(k\)-цветков и теперь он хочет узнать повезло ли ему взять с клумбы один из них.

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

Первая строка входных данных содержит единственное число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных в тесте.

Далее следуют описания наборов. Перед каждым набором в тесте записана пустая строка.

Первая строка каждого набора содержит два целых числа \(n\) и \(m\) (\(2 \le n \le 2 \cdot 10^5\), \(1 \le m \le \min(2 \cdot 10^5, \frac{n \cdot (n-1)}{2})\)) — количество вершин и рёбер в графе, соответственно.

Следующие \(m\) строк содержат по два целых числа \(u\) и \(v\) (\(1 \le u, v \le n\), \(u \ne v\)) — номера вершин, соединённых ребром. Гарантируется, что граф не содержит кратных рёбер и петель.

Гарантируется, что сумма \(n\) по всем наборам не превосходит \(2 \cdot 10^5\). Также это гарантируется для суммы \(m\).

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

Выведите \(t\) строк, каждая из которых является ответом на соответствующий набор входных данных. В качестве ответа выведите «YES», если граф Влада является \(k\)-цветком для некоторого \(k\), и «NO» в противном случае.

Вы можете выводить ответ в любом регистре (например, строки «yEs», «yes», «Yes» и «YES» будут распознаны как положительный ответ).


Примеры
Входные данныеВыходные данные
1 5
9 12
1 2
3 1
2 3
1 6
4 1
6 4
3 8
3 5
5 8
9 7
2 9
7 2
8 12
1 2
3 1
2 3
1 6
4 1
6 4
3 8
3 5
5 8
8 7
2 8
7 2
4 3
1 2
4 2
3 1
6 8
6 3
6 4
5 3
5 2
3 2
3 1
2 1
2 4
5 7
2 4
2 5
3 4
3 5
4 1
4 5
1 5
YES
NO
NO
NO
NO
2 4
2 1
1 2
8 9
1 2
8 4
8 2
6 4
6 5
4 7
3 2
3 7
2 5
9 12
2 9
2 8
6 9
6 8
6 5
6 1
9 8
9 3
9 1
8 3
8 7
5 7
3 3
1 2
1 3
2 3
NO
NO
NO
NO

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя