#include <bits/stdc++.h>
using namespace std;
const int maxk = 102;
const int maxv = 50000;
long long n;
int k, a[maxk];
int dp[maxk][maxv + 2];
long long calc(int d, long long v) {
  if (v == 0) return 0;
  if (d == k) return v;
  if (v < maxv) {
    if (dp[d][v] == -1) dp[d][v] = calc(d + 1, v) - calc(d + 1, v / a[d]);
    return dp[d][v];
  }
  return calc(d + 1, v) - calc(d + 1, v / a[d]);
}
int main() {
  cin >> n >> k;
  memset(&dp, -1, sizeof(dp));
  for (int i = 0, _n = (k); i < _n; i++) scanf("%d", &a[i]);
  sort(a, a + k, greater<int>());
  cout << calc(0, n) << endl;
  return 0;
}
