Problem:
Prime Numbers

A prime number is a natural number which has exactly two distinct natural number divisors: 1 and itself. For example, the first four prime numbers are: 2, 3, 5 and 7.

Write a program which reads a list of N integers and prints the number of prime numbers in the list.

Input

The first line contains an integer N, the number of elements in the list.

N numbers are given in the following lines.

Output

Print the number of prime numbers in the given list.

Constraints

1 ≤ N ≤ 10000

2 ≤ an element of the list ≤ 108

Sample Input 1

5
2
3
4
5
6

Sample Output 1

3

Sample Input 2

11
7
8
9
10
11
12
13
14
15
16
17

Sample Output 2

4

Solution in C++14 (judge verdict: Accepted)

#include<bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); ++i) 
#define PI acos(-1)

using namespace std;
using ll = long long;
using P = pair<int, int>;

int main() {
    cin.tie(0);
    ios::sync_with_stdio(false);

    int n;
    cin>>n;

    vector<int> primes;
    for (int i = 2; i < 100001; i++) {
        bool find = true;
        for (auto p : primes) {
            if (p > (int)sqrt(i)) break;
            if (i % p == 0) find = false;
        }
        if (find) primes.push_back(i);
    }

    int cnt = 0;
    rep(i, n) {
        int a;
        cin>>a;
        bool find = true;
        for (auto p : primes) {
            if (p > (int)sqrt(a)) break;
            if (a % p == 0) find = false;
        }
        if (find) cnt++;
    }
    cout<<cnt<<endl;
}