# -*- coding: utf-8 -*- def gcd(a, b): while b: a, b = b, a % b return a def lcm(a, b): return a * b / gcd(a, b) N = input() K = input() Alist = [i+1 for i in range(0, N)] Blist = [i+1 for i in range(0, N)] Clist = [0 for i in range(0, N)] Klist = [0 for i in range(0, K)] for i in range(0, K): Klist[i] = map(int, raw_input().split())[0] - 1 for i in Klist: Blist[i], Blist[i+1] = Blist[i+1], Blist[i] cnt = 0 for i in range(0, N): cnt += 1 for j in range(0, N): Alist[j] = Blist[Alist[j]-1] if Clist[j] == 0 and Alist[j] == j+1: Clist[j] = cnt cnt = 1 for i in range(0, N): cnt = lcm(cnt, Clist[i]) print cnt