using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Numerics; using System.Text; //using static CompLib.CompLib; //using DataStructure; namespace atcoder { class Program { const int intMax = 1000000000; const long longMax = 2000000000000000000; static void Main(string[] args) { var NM = Console.ReadLine().Split().Select(int.Parse).ToArray(); var A = new int[NM[1]]; if (NM[1] != 0) A = Console.ReadLine().Split().Select(int.Parse).ToArray(); var cnt = new int[NM[0] + 1]; var open = new bool[NM[0] + 1]; for (int i = 0; i < NM[1]; i++) { open[A[i]] = true; } cnt[1] = 1; for (int i = 2; i <= NM[0]; i++) { int idx = 1; while (i / idx >= 1) { if (idx == i) break; if (i % idx == 0) cnt[i / idx]++; idx++; } } int ans = 0; for (int i = NM[0]; i >= 0; i--) { if ((open[i] && cnt[i] % 2 == 0) || (!open[i] && cnt[i] % 2 == 1)) { ans++; int idx = 1; while (idx != i && i / idx > 0) { if (i % idx == 0) { cnt[i / idx]--; } idx++; } } } Console.WriteLine(ans); } } }