#include <bits/stdc++.h>
using namespace std;
long long n;
int k;
int a[1010];
int memo[101][300010];
long long go2(int pos, long long temp) {
  if (pos < 0) {
    return temp;
  }
  if (temp < 300000 && memo[pos][temp] != -1) return memo[pos][temp];
  long long r = go2(pos - 1, temp) - go2(pos - 1, temp / a[pos]);
  if (temp < 300000) memo[pos][temp] = (int)r;
  return r;
}
int main() {
  cin >> n;
  cin >> k;
  for (int i = 0; i < k; i++) cin >> a[i];
  sort(a, a + k);
  memset(memo, -1, sizeof(memo));
  cout << go2(k - 1, n) << endl;
  return 0;
}
