#include <stdio.h>
#define N 1000002
int main()
{

    int a;

    int n[200001];
    //int ki[N];
    int data[N];
    int max;

    scanf("%d", &a);

    for (int i = 0; i <= N; i++)
    {
        data[i] = 0; //で初期化
        //ki[i] = 0;
    }

    for (int i = 0; i < a; i++)
    {
        scanf("%d", &n[i]);
        if(n[i]==0){
            printf("0\n");
            return 0;
        }
        if (data[n[i]] != 2)//割り切れるものがまだない。
        {
            if(data[n[i]]==1){
                data[n[i]] = 2;//二回以上
            }
            else if (data[n[i]] == 0){//初回
                if(max<=n[i])
                    max = n[i];

                data[n[i]] = 1;
                for (int j = 2; j * n[i] <= N; j++)
                {
                    data[n[i] * j] = 2;
                }
            }
        }
    }
/*
    for (int i = 0; i < a; i++)
    {
        scanf("%d", &n[i]);
        if (data[n[i]] != 2)
        {
            if (data[n[i]] == 1)
            {
                data[n[i]] == 2; //二回以上
            }
            if (data[n[i]] == 0)
            {
                data[n[i]] = 1;
                for (int j = 2; j * n[i] <= N; j++)
                {
                    data[n[i] * j] = 2;
                }
            }
        }
    }

*/
    int count = 0;
    for (int i = 1; i <= max; i++)
    {
        if (data[i] == 1)
        {
            count++;
        }
    }

    printf("%d\n",count);
}