#include using namespace std; int n,k,i,x,c,b; int gcd(int a,int b){ if(a%b)return gcd(b,a%b); else return b; } int lcm(int a,int b){return a/gcd(a,b)*b;} main(){ cin>>n>>k; vector A(n),B(n); for(int i = 0; n > i; i++)A[i] = i; for(int i = 0; k > i; i++){ cin>>b>>c; swap(A[--b],A[--c]); }b=1; for(i=0;n>i;i++){ x=i;c=0; while(!B[x])B[x]=1,x=A[x],c++; if(c)b=lcm(b,c); } cout << b << endl; }