#include <bits/stdc++.h>
#define gcd(x, y) __gcd((x), (y))
#define lcm(x, y) ((x) / gcd((x), (y)) * (y))
using namespace std;
ifstream fi("light2.in");
ofstream fo("light2.out");
using i64 = long long;
map<int, int> mp;
vector<i64> elem;
i64 n, ant;
int k, s;
int main() {
fi >> n >> k;
for (int t, i = 0; i < n; ++i) {
fi >> t;
mp[t]++; }
for (const auto &i: mp)
if (i.second % 2)
elem.push_back(i.first);
s = elem.size();
for (int msk = 1; msk < (1 << s); ++msk) {
i64 g = 1;
int b = __builtin_popcount(msk);
for (int bit = 0; bit < s && g <= n; ++bit) if (msk & (1 << bit))
g = lcm(elem[bit], g);
ant+= (b % 2 ? 1 : -2) * (n / g); }
fo << ant << endl;
return 0; }