def make_divisors(n): lower_divisors , upper_divisors = [], [] i = 1 while i*i <= n: if n % i == 0: lower_divisors.append(i) if i != n // i: upper_divisors.append(n//i) i += 1 return lower_divisors + upper_divisors[::-1] N,M = map(int, input().split()) A = list(map(int, input().split())) if not (1<=N<=2*10**5 and 0<=M<=N and len(A)==M and A==sorted(A) and M == len(set(A))): exit() for a in A: if 1<=a<=N: continue exit() DIV = [[]] ALL = [0]*(N+1) DOOR= [0]*(N+1) for i in range(1,N+1): DIV.append(make_divisors(i)) for div in DIV[i]: ALL[div] = (ALL[div]+1)%2 for a in A: DOOR[a]=1 cnt = 0 for i in reversed(range(N+1)): if ALL[i]!=DOOR[i]: cnt+=1 for div in DIV[i]: DOOR[div] = (DOOR[div]+1)%2 print(cnt)