#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
long long n; int m, a[24]; vector<long long> v;
vector<long long> unique(vector<long long> u) {
	vector<long long> ret;
	if(u.size() >= 1) ret.push_back(u[0]);
	for(int i = 1; i < u.size(); i++) {
		if(u[i - 1] != u[i]) ret.push_back(u[i]);
	}
	return ret;
}
int main() {
	scanf("%lld%d", &n, &m);
	for(int i = 0; i < m; i++) scanf("%d", &a[i]);
	for(int i = 0; i < (1 << m); i++) {
		long long res = 1;
		for(int j = 0; j < m; j++) {
			if(i & (1 << j)) {
				res *= a[j];
				if(res > n) break;
			}
		}
		if(res <= n) v.push_back(res);
	}
	sort(v.begin(), v.end());
	v = unique(v);
	int ret = 0;
	for(int i = 0; i < v.size(); i++) {
		long long r = v[i];
		for(int j = 0; j < m; j++) {
			if(v[i] % a[j] == 0) v[i] /= a[j];
		}
		if(v[i] == 1) ret++;
	}
	printf("%d\n", ret);
}