CF1147B Chladni Figure

Description

Inaka has a disc, the circumference of which is $ n $ units. The circumference is equally divided by $ n $ points numbered clockwise from $ 1 $ to $ n $ , such that points $ i $ and $ i + 1 $ ( $ 1 \leq i < n $ ) are adjacent, and so are points $ n $ and $ 1 $ . There are $ m $ straight segments on the disc, the endpoints of which are all among the aforementioned $ n $ points. Inaka wants to know if her image is rotationally symmetrical, i.e. if there is an integer $ k $ ( $ 1 \leq k < n $ ), such that if all segments are rotated clockwise around the center of the circle by $ k $ units, the new image will be the same as the original one.

Input Format

The first line contains two space-separated integers $ n $ and $ m $ ( $ 2 \leq n \leq 100\,000 $ , $ 1 \leq m \leq 200\,000 $ ) — the number of points and the number of segments, respectively. The $ i $ -th of the following $ m $ lines contains two space-separated integers $ a_i $ and $ b_i $ ( $ 1 \leq a_i, b_i \leq n $ , $ a_i \neq b_i $ ) that describe a segment connecting points $ a_i $ and $ b_i $ . It is guaranteed that no segments coincide.

Output Format

Output one line — "Yes" if the image is rotationally symmetrical, and "No" otherwise (both excluding quotation marks). You can output each letter in any case (upper or lower).

Explanation/Hint

The first two examples are illustrated below. Both images become the same as their respective original ones after a clockwise rotation of $ 120 $ degrees around the center. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1147B/e97ded58f64e835700251efbf078bd03afdc1691.png)