#include
using namespace std;
#define LL long long
int a[40];
int n,m;
int gcd(int x,int y) {
if(y==0)return x;
else return gcd(y,x%y);
}
LL ans=0;
void dfs(int num,int step,LL lcm) {
if(lcm>n)return ;
if(num==m+1){
if(step%2==1)ans-=n/lcm;//奇数个时加上
else if(step)ans+=n/lcm;//偶数个时减去
return ;
}
dfs(num+1,step,lcm);
LL tmp=lcm*a[num]/gcd(lcm,a[num]);//选择该数
dfs(num+1,step+1,tmp);
}
int main () {
scanf("%d%d",&n,&m);
ans=n;
for(int i=1;i<=m;++i ) {
scanf("%d",a+i);
}
dfs(1,0,1);
printf("%lld\n",ans);
return 0;
}