#include<stdio.h>
int a[20];
int gcd(int a, int b) { return a?gcd(b%a,a):b; }
main()
{
	char fin[100], fout[100];
	for(int c = 1 ; c <= 20 ; c++ )
	{
        sprintf(fin,".%d.in",c);
		sprintf(fout,".%d.out",c);
		freopen(fin,"r",stdin);
		freopen(fout,"w",stdout);
		int n, m, i, j;
		scanf("%d%d",&n,&m);
		for( i = 0 ; i < 20 ; i++ ) a[i] = 0;
		for( i = 0 ; i < m ; i++ ) scanf("%d", &a[i]);
		long long res = 0;
		for( i = 1 ; i < (1<<m); i++ )
        {
            int num = 0;
            for( j = i ; j != 0 ; j >>= 1 )
                num += j&1;
            long long lcm = 1;
            for( j = 0 ; j < m ; j++ )
            {
                if(i>>j&1)
                {
                    lcm = lcm/gcd(lcm,a[j]) * a[j];
                    if( lcm > n ) break;
                }
            }
            if(num%2 == 0) res -= n / lcm;
            else res += n/lcm;
        }
        printf("%d\n", res);
	}
}
