#include <bits/stdc++.h>
using namespace std;
const int M = 100000 + 10;
const int N = 100 + 10;
long long ans;
long long i;
long long m;
long long n;
long long a[N];
long long f[N][M];
long long dp(long long m, long long n) {
  long long result;
  if (n == 0) return m;
  if (n < 100 && m < 100000 && f[n][m] != -1) return f[n][m];
  result = dp(m, n - 1) - dp(m / a[n], n - 1);
  if (n < 100 && m < 100000) f[n][m] = result;
  return result;
}
int main() {
  memset(f, -1, sizeof(f));
  cin >> m;
  cin >> n;
  for (i = 1; i <= n; i++) cin >> a[i];
  sort(a + 1, a + n + 1);
  ans = dp(m, n);
  cout << ans << endl;
  return 0;
}
