#include <bits/stdc++.h>
using namespace std;
long long dp[100010][110];
int a[110];
long long f(long long n, int k) {
  if (!k) return n;
  if (n < 100000 && dp[n][k] != -1) return dp[n][k];
  long long t = f(n, k - 1) - f(n / a[k - 1], k - 1);
  if (n < 100000) dp[n][k] = t;
  return t;
}
int main() {
  long long n;
  int k;
  scanf("%I64d%d", &n, &k);
  for (int i = 0; i < k; ++i) scanf("%d", &a[i]);
  sort(a, a + k);
  memset(dp, -1, sizeof dp);
  long long ans = f(n, k);
  printf("%I64d\n", ans);
}
