#include <bits/stdc++.h>
using namespace std;
long long n;
long long dp[200000][100];
int k;
int a[2000];
long long dfs(long long n, int u) {
  if (u == k) return n;
  if (n == 0) return 0;
  if (n < 200000 && dp[n][u] != -1) return dp[n][u];
  long long ret = dfs(n, u + 1) - dfs(n / a[u], u + 1);
  if (n < 200000) dp[n][u] = ret;
  return ret;
}
int main() {
  cin >> n >> k;
  for (int i = 0; i < k; i++) scanf("%d", &a[i]);
  sort(a, a + k);
  reverse(a, a + k);
  memset(dp, -1, sizeof(dp));
  printf("%I64d\n", dfs(n, 0));
  return 0;
}
