#include using namespace std; using ll = long long; ll gcd(ll a, ll b) {return (a % b ? gcd(b, a % b) : b);} ll lcm(ll a, ll b) {return a / gcd(a, b) * b;} int main(void) { int N, K; cin >> N >> K; vector A(N); for(int i = 0; i < N; ++i) A[i] = i; while(K--) { int X, Y; cin >> X >> Y; --X, --Y; swap(A[X], A[Y]); } vector v; vector seen(N, false); for(int i = 0; i < N; ++i) { if(seen[i]) continue; int now = i, siz = 0; do { seen[now] = true; now = A[now]; siz += 1; } while(i != now); v.push_back(siz); } ll ans = 1; for(auto x : v) ans = lcm(ans, x); cout << ans << "\n"; return 0; }