/* -*- coding: utf-8 -*- * * 101.cc: No.101 ぐるぐる!あみだくじ! - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ const int MAX_N = 100; /* typedef */ typedef long long ll; typedef vector vi; /* global variables */ /* subroutines */ void print_v(vi &v) { for (int i = 0; i < v.size(); i++) printf("%d ", v[i]); putchar('\n'); } /* main */ int main() { int n, k; cin >> n >> k; vi v(n); for (int i = 0; i < n; i++) v[i] = i; for (int i = 0; i < k; i++) { int x, y; cin >> x >> y; x--, y--; swap(v[x], v[y]); } //print_v(v); ll ans = 1; for (int i = 0; i < n; i++) { ll cnt = 1; for (int j = v[i]; j != i; j = v[j], cnt++); ll g = __gcd(ans, cnt); ans = ans * cnt / g; } printf("%lld\n", ans); return 0; }