import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
//import java.util.Collections;

public class Main{
    public static void main(String[] args) throws Exception{
        int number;
        ArrayList<Integer> prime = new ArrayList<>();
        ArrayList<Integer> exist = new ArrayList<>();
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line = br.readLine();
        int n = Integer.parseInt(line);
        for(int i = 0; i<n ; i++) {
            line = br.readLine();
            number = Integer.parseInt(line);
            if(isPrime(number)){
                prime.add(number);
            }
        }
//        Collections.sort(exist);
//        number = exist.get(exist.size()-1);
//
//        if(number >= 2){
//            prime.add(2);
//        }
//
//        for (int i = 3; i <= number; i += 2) {
//            isPrime = true;
//            for (int p : prime) {
//                comp = (double) i / (double) p;
//                if (p == 1) {
//                    continue;
//                }
//                if (i % p == 0) { //iが見つかった素数で割り切れる
//                    isPrime = false;
//                    break;
//                } else if (p > comp) {
//                    break;
//                }
//            }
//            if (isPrime) {
//                prime.add(i);
//            }
//        }
//        for( int e : exist){
//            if(prime.contains(e)){
//                count++;
//            }
//        }
        
        System.out.println(prime.size());
    }
//  素直に解説のとおりに実装
    static boolean isPrime(int n){
        if(n==2) {
            return true;
        }
        if(n<2 || n%2==0){
            return false;
        }

        int i = 3;
        while(i<=Math.sqrt((double)n)){
            if(n%i==0){
                return false;
            }
            i = i + 2;
        }
        return true;
    }
} import java.io.BufferedReader; BufferedReader java.io import java.io.InputStreamReader; InputStreamReader java.io import java.util.ArrayList; ArrayList java.util public class Main{
    public static void main(String[] args) throws Exception{
        int number;
        ArrayList<Integer> prime = new ArrayList<>();
        ArrayList<Integer> exist = new ArrayList<>();
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line = br.readLine();
        int n = Integer.parseInt(line);
        for(int i = 0; i<n ; i++) {
            line = br.readLine();
            number = Integer.parseInt(line);
            if(isPrime(number)){
                prime.add(number);
            }
        }
//        Collections.sort(exist);
//        number = exist.get(exist.size()-1);
//
//        if(number >= 2){
//            prime.add(2);
//        }
//
//        for (int i = 3; i <= number; i += 2) {
//            isPrime = true;
//            for (int p : prime) {
//                comp = (double) i / (double) p;
//                if (p == 1) {
//                    continue;
//                }
//                if (i % p == 0) { //iが見つかった素数で割り切れる
//                    isPrime = false;
//                    break;
//                } else if (p > comp) {
//                    break;
//                }
//            }
//            if (isPrime) {
//                prime.add(i);
//            }
//        }
//        for( int e : exist){
//            if(prime.contains(e)){
//                count++;
//            }
//        }
        
        System.out.println(prime.size());
    }
//  素直に解説のとおりに実装
    static boolean isPrime(int n){
        if(n==2) {
            return true;
        }
        if(n<2 || n%2==0){
            return false;
        }

        int i = 3;
        while(i<=Math.sqrt((double)n)){
            if(n%i==0){
                return false;
            }
            i = i + 2;
        }
        return true;
    }
} Main public static void main(String[] args) throws Exception{
        int number;
        ArrayList<Integer> prime = new ArrayList<>();
        ArrayList<Integer> exist = new ArrayList<>();
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line = br.readLine();
        int n = Integer.parseInt(line);
        for(int i = 0; i<n ; i++) {
            line = br.readLine();
            number = Integer.parseInt(line);
            if(isPrime(number)){
                prime.add(number);
            }
        }
//        Collections.sort(exist);
//        number = exist.get(exist.size()-1);
//
//        if(number >= 2){
//            prime.add(2);
//        }
//
//        for (int i = 3; i <= number; i += 2) {
//            isPrime = true;
//            for (int p : prime) {
//                comp = (double) i / (double) p;
//                if (p == 1) {
//                    continue;
//                }
//                if (i % p == 0) { //iが見つかった素数で割り切れる
//                    isPrime = false;
//                    break;
//                } else if (p > comp) {
//                    break;
//                }
//            }
//            if (isPrime) {
//                prime.add(i);
//            }
//        }
//        for( int e : exist){
//            if(prime.contains(e)){
//                count++;
//            }
//        }
        
        System.out.println(prime.size());
    } main {
        int number;
        ArrayList<Integer> prime = new ArrayList<>();
        ArrayList<Integer> exist = new ArrayList<>();
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line = br.readLine();
        int n = Integer.parseInt(line);
        for(int i = 0; i<n ; i++) {
            line = br.readLine();
            number = Integer.parseInt(line);
            if(isPrime(number)){
                prime.add(number);
            }
        }
//        Collections.sort(exist);
//        number = exist.get(exist.size()-1);
//
//        if(number >= 2){
//            prime.add(2);
//        }
//
//        for (int i = 3; i <= number; i += 2) {
//            isPrime = true;
//            for (int p : prime) {
//                comp = (double) i / (double) p;
//                if (p == 1) {
//                    continue;
//                }
//                if (i % p == 0) { //iが見つかった素数で割り切れる
//                    isPrime = false;
//                    break;
//                } else if (p > comp) {
//                    break;
//                }
//            }
//            if (isPrime) {
//                prime.add(i);
//            }
//        }
//        for( int e : exist){
//            if(prime.contains(e)){
//                count++;
//            }
//        }
        
        System.out.println(prime.size());
    } int number; number ArrayList<Integer> prime = new ArrayList<>(); prime new ArrayList<>() ArrayList<Integer> exist = new ArrayList<>(); exist new ArrayList<>() BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) String line = br.readLine(); line br.readLine() br.readLine br int n = Integer.parseInt(line); n Integer.parseInt(line) Integer.parseInt Integer line for(int i = 0; i<n ; i++) {
            line = br.readLine();
            number = Integer.parseInt(line);
            if(isPrime(number)){
                prime.add(number);
            }
        } int i = 0; int i = 0; i 0 i<n i n i++ i++ i {
            line = br.readLine();
            number = Integer.parseInt(line);
            if(isPrime(number)){
                prime.add(number);
            }
        } {
            line = br.readLine();
            number = Integer.parseInt(line);
            if(isPrime(number)){
                prime.add(number);
            }
        } line = br.readLine() line br.readLine() br.readLine br number = Integer.parseInt(line) number Integer.parseInt(line) Integer.parseInt Integer line if(isPrime(number)){
                prime.add(number);
            } isPrime(number) isPrime number {
                prime.add(number);
            } prime.add(number) prime.add prime number System.out.println(prime.size()) System.out.println System.out System System.out prime.size() prime.size prime String[] args args //  素直に解説のとおりに実装
    static boolean isPrime(int n){
        if(n==2) {
            return true;
        }
        if(n<2 || n%2==0){
            return false;
        }

        int i = 3;
        while(i<=Math.sqrt((double)n)){
            if(n%i==0){
                return false;
            }
            i = i + 2;
        }
        return true;
    } isPrime {
        if(n==2) {
            return true;
        }
        if(n<2 || n%2==0){
            return false;
        }

        int i = 3;
        while(i<=Math.sqrt((double)n)){
            if(n%i==0){
                return false;
            }
            i = i + 2;
        }
        return true;
    } if(n==2) {
            return true;
        } n==2 n 2 {
            return true;
        } return true; true if(n<2 || n%2==0){
            return false;
        } n<2 || n%2==0 n<2 n 2 n%2==0 n%2 n 2 0 {
            return false;
        } return false; false int i = 3; i 3 while(i<=Math.sqrt((double)n)){
            if(n%i==0){
                return false;
            }
            i = i + 2;
        } i<=Math.sqrt((double)n) i Math.sqrt((double)n) Math.sqrt Math (double)n {
            if(n%i==0){
                return false;
            }
            i = i + 2;
        } if(n%i==0){
                return false;
            } n%i==0 n%i n i 0 {
                return false;
            } return false; false i = i + 2 i i + 2 i 2 return true; true int n n public class Main{
    public static void main(String[] args) throws Exception{
        int number;
        ArrayList<Integer> prime = new ArrayList<>();
        ArrayList<Integer> exist = new ArrayList<>();
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line = br.readLine();
        int n = Integer.parseInt(line);
        for(int i = 0; i<n ; i++) {
            line = br.readLine();
            number = Integer.parseInt(line);
            if(isPrime(number)){
                prime.add(number);
            }
        }
//        Collections.sort(exist);
//        number = exist.get(exist.size()-1);
//
//        if(number >= 2){
//            prime.add(2);
//        }
//
//        for (int i = 3; i <= number; i += 2) {
//            isPrime = true;
//            for (int p : prime) {
//                comp = (double) i / (double) p;
//                if (p == 1) {
//                    continue;
//                }
//                if (i % p == 0) { //iが見つかった素数で割り切れる
//                    isPrime = false;
//                    break;
//                } else if (p > comp) {
//                    break;
//                }
//            }
//            if (isPrime) {
//                prime.add(i);
//            }
//        }
//        for( int e : exist){
//            if(prime.contains(e)){
//                count++;
//            }
//        }
        
        System.out.println(prime.size());
    }
//  素直に解説のとおりに実装
    static boolean isPrime(int n){
        if(n==2) {
            return true;
        }
        if(n<2 || n%2==0){
            return false;
        }

        int i = 3;
        while(i<=Math.sqrt((double)n)){
            if(n%i==0){
                return false;
            }
            i = i + 2;
        }
        return true;
    }
} public class Main{
    public static void main(String[] args) throws Exception{
        int number;
        ArrayList<Integer> prime = new ArrayList<>();
        ArrayList<Integer> exist = new ArrayList<>();
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line = br.readLine();
        int n = Integer.parseInt(line);
        for(int i = 0; i<n ; i++) {
            line = br.readLine();
            number = Integer.parseInt(line);
            if(isPrime(number)){
                prime.add(number);
            }
        }
//        Collections.sort(exist);
//        number = exist.get(exist.size()-1);
//
//        if(number >= 2){
//            prime.add(2);
//        }
//
//        for (int i = 3; i <= number; i += 2) {
//            isPrime = true;
//            for (int p : prime) {
//                comp = (double) i / (double) p;
//                if (p == 1) {
//                    continue;
//                }
//                if (i % p == 0) { //iが見つかった素数で割り切れる
//                    isPrime = false;
//                    break;
//                } else if (p > comp) {
//                    break;
//                }
//            }
//            if (isPrime) {
//                prime.add(i);
//            }
//        }
//        for( int e : exist){
//            if(prime.contains(e)){
//                count++;
//            }
//        }
        
        System.out.println(prime.size());
    }
//  素直に解説のとおりに実装
    static boolean isPrime(int n){
        if(n==2) {
            return true;
        }
        if(n<2 || n%2==0){
            return false;
        }

        int i = 3;
        while(i<=Math.sqrt((double)n)){
            if(n%i==0){
                return false;
            }
            i = i + 2;
        }
        return true;
    }
} Main
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
//import java.util.Collections;

public class Main{
    public static void main(String[] args) throws Exception{
        int number;
        ArrayList<Integer> prime = new ArrayList<>();
        ArrayList<Integer> exist = new ArrayList<>();
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line = br.readLine();
        int n = Integer.parseInt(line);
        for(int i = 0; i<n ; i++) {
            line = br.readLine();
            number = Integer.parseInt(line);
            if(isPrime(number)){
                prime.add(number);
            }
        }
//        Collections.sort(exist);
//        number = exist.get(exist.size()-1);
//
//        if(number >= 2){
//            prime.add(2);
//        }
//
//        for (int i = 3; i <= number; i += 2) {
//            isPrime = true;
//            for (int p : prime) {
//                comp = (double) i / (double) p;
//                if (p == 1) {
//                    continue;
//                }
//                if (i % p == 0) { //iが見つかった素数で割り切れる
//                    isPrime = false;
//                    break;
//                } else if (p > comp) {
//                    break;
//                }
//            }
//            if (isPrime) {
//                prime.add(i);
//            }
//        }
//        for( int e : exist){
//            if(prime.contains(e)){
//                count++;
//            }
//        }
        
        System.out.println(prime.size());
    }
//  素直に解説のとおりに実装
    static boolean isPrime(int n){
        if(n==2) {
            return true;
        }
        if(n<2 || n%2==0){
            return false;
        }

        int i = 3;
        while(i<=Math.sqrt((double)n)){
            if(n%i==0){
                return false;
            }
            i = i + 2;
        }
        return true;
    }
}