У Инаки есть диск, длина окружности которого равна $$$n$$$ единицам. Окружность разделена на равные части $$$n$$$ точками, пронумерованными от $$$1$$$ до $$$n$$$ так, что точки $$$i$$$ и $$$i + 1$$$ ($$$1 \leq i < n$$$) соседние, кроме того, соседними являются точки $$$n$$$ и $$$1$$$.
На диске нарисованы $$$m$$$ хорд, соединяющих некоторые из данных $$$n$$$ точек.
Инака хочет понять, имеет ли ее диск вращательную симметрию, т. е. существует ли целое число $$$k$$$ ($$$1 \leq k < n$$$), такое, что если повернуть все хорды по часовой стрелке на $$$k$$$ единиц, то диск будет выглядеть так же.
Первая строка содержит два целых числа $$$n$$$ и $$$m$$$ ($$$2 \leq n \leq 100\,000$$$, $$$1 \leq m \leq 200\,000$$$) — количество точек и число хорд, соответственно.
В $$$i$$$-й из следующих $$$m$$$ строк находятся два целых числа $$$a_i$$$ и $$$b_i$$$ ($$$1 \leq a_i, b_i \leq n$$$, $$$a_i \neq b_i$$$), означающих, что есть хорда, соединяющая точки $$$a_i$$$ и $$$b_i$$$.
Гарантируется, что никакие две хорды не совпадают.
Выведите «Yes» если диск имеет вращательную симметрию, и «No» в обратном случае (без кавычек).
Вы можете выводить каждую букву в любом регистре (строчную или заглавную).
12 6 1 3 3 7 5 7 7 11 9 11 11 3
Yes
9 6 4 5 5 6 7 8 8 9 1 2 2 3
Yes
10 3 1 2 3 2 7 2
No
10 2 1 6 2 7
Yes
Первые два примера показаны на рисунке ниже. Оба диска совпадают с собой после поворота на $$$120$$$ градусов.
Название |
---|