#include<bits/stdc++.h>
using namespace std;
#define ll int 
#define maxn 20000002
bool isprime[maxn+1];
bool two_primes[maxn+1];
void sieve(){
    isprime[0]=isprime[1]=false;
    for(ll i=2;i<=(ll)sqrt(maxn);i++){
        if(isprime[i]){
            for(ll j=i*i;j<=maxn;j+=i) isprime[j]=false;
        }
    }
}
void sieve_2(){
    two_primes[0]=two_primes[1]=false;
    for(ll i=2;i<=(ll)sqrt(maxn);i++){
        if(isprime[i]){
            two_primes[i]=false;
            for(ll j=i*i;j<=maxn;j+=i){
                if(!isprime[j/i]) two_primes[j]=false;
            }
        }
        
    }
}
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
 
    memset(isprime,true,sizeof(isprime));
    memset(two_primes,true,sizeof(two_primes));
    sieve();
    sieve_2();
    
    ll n;
    cin>>n;
    ll res = 0;
    for(ll i=0;i<n;i++){
        ll x;
        cin>>x;
        if(two_primes[x] && !isprime[x]){
            // cout<<"db:  "<<x<<'\n';
            res++;
        }
    }
    // cout<<"res: "<<res;
    cout<<res;
    return 0;
}