#include <bits/stdc++.h>
using namespace std;
long long a[105];
int k;
long long n;
long long X[5000000];
long long Y[5000000];
long long X1[5000000];
long long Y1[5000000];
long long X2[5000000];
long long Y2[5000000];
int main() {
  cin >> n >> k;
  for (int i = 0; i < k; i++) {
    cin >> a[i];
  }
  sort(a, a + k);
  reverse(a, a + k);
  int q = 1, q1 = 1, q2 = 0;
  X[0] = n;
  Y[0] = 1;
  for (int i = 0; i < k; i++) {
    q1 = q;
    q2 = q;
    for (int j = 0; j < q; j++) {
      X1[j] = X[j];
      X2[j] = X[j] / a[i];
      Y1[j] = Y[j];
      Y2[j] = -Y[j];
    }
    q = 0;
    int p1 = 0, p2 = 0;
    while (p1 < q1 || (p2 < q2 && X2[p2] != 0)) {
      if (X1[p1] == X2[p2]) {
        X[q] = X1[p1];
        Y[q] = Y1[p1] + Y2[p2];
        p1++;
        p2++;
        if (Y[q]) {
          q++;
        }
      } else if (p2 == q2 || X1[p1] > X2[p2]) {
        X[q] = X1[p1];
        Y[q] = Y1[p1];
        p1++;
        q++;
      } else {
        X[q] = X2[p2];
        Y[q] = Y2[p2];
        p2++;
        q++;
      }
    }
  }
  long long ret = 0;
  for (int i = 0; i < q; i++) {
    ret += X[i] * Y[i];
  }
  cout << ret << endl;
  return 0;
}
