#include #define FOR(i,a,b) for (int i=(a);i<(b);i++) #define FORR(i,a,b) for (int i=(a);i>=(b);i--) #define pb push_back using namespace std; typedef long long ll; typedef pair pii; typedef vector vi; typedef set si; const int inf = 1e9; const int mod = 1e9+7; int n, k; int a[101]; bool b[101]; int gcd(int a, int b){ if(a > b)swap(a, b); if(a < 1) return b; return gcd(b % a, a); } int lcm(int a, int b){ return (int)((ll)a * (ll)b / gcd(a, b)); } main(){ cin.tie(0); ios::sync_with_stdio(false); cin >> n >> k; FOR(i, 1, n+1) a[i] = i; FOR(i, 0, k){ int x, y; cin >> x >> y; swap(a[x], a[y]); } int ans = 1; FOR(i, 1, n+1){ if(b[i])continue; int c = 0, m = i; while(!b[m]){ c++; b[m] = true; m = a[m]; } ans = lcm(ans, c); } cout << ans << endl; }