#include <bits/stdc++.h>
using namespace std;
vector<long long> z_function(vector<long long> second) {
  long long n = (long long)second.size();
  vector<long long> z(n);
  for (long long i = 1, l = 0, r = 0; i < n; ++i) {
    if (i <= r) z[i] = min(r - i + 1, z[i - l]);
    while (i + z[i] < n && second[z[i]] == second[i + z[i]]) ++z[i];
    if (i + z[i] - 1 > r) l = i, r = i + z[i] - 1;
  }
  return z;
}
signed main() {
  long long n, k;
  cin >> n >> k;
  vector<long long> adj[n + 1];
  for (long long i = 0; i < k; i++) {
    long long p, q;
    cin >> p >> q;
    if (p < q) swap(q, p);
    adj[p].push_back(q - p + n);
    adj[q].push_back(p - q);
  }
  for (long long i = 1; i <= n; i++) sort(adj[i].begin(), adj[i].end());
  vector<long long> str;
  for (long long i = 1; i <= n; i++) {
    for (auto u : adj[i]) str.push_back(u);
    str.push_back(-1);
  }
  long long tmp = str.size();
  for (long long i = 0; i < tmp; i++) {
    str.push_back(str[i]);
  }
  vector<long long> ans = z_function(str);
  for (long long i = 1; i < tmp - 1; i++) {
    if (ans[i] >= tmp) {
      cout << "Yes\n";
      return 0;
    }
  }
  cout << "No\n";
  return 0;
}
