def gcd(a,b): if b< a: return gcd(b,a) if b%a==0: return a return gcd(b%a,a) N=int(raw_input()) K=int(raw_input()) a=[i+1 for i in range(N)] for i in range(K): x,y=map(int,raw_input().split()) a[x-1],a[y-1]=a[y-1],a[x-1] ans = 1 for i in range(len(a)): if a[i]!=-1 and a[i]!=i+1: cnt=1 cur=i while a[cur]!=i+1: cnt+=1 tmp=cur cur=a[cur]-1 a[tmp]=-1 a[cur]=-1 g= gcd(ans,cnt) ans*=cnt/g print ans