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 JAVA (judge verdict: Time Limit Exceeded)

import java.util.Arrays;
import java.util.Scanner;

/**
 * Created by akensho on 2015/11/23.
 */
public class Main {
    static int n;
    static int[] array;
    static Scanner sc = new Scanner(System.in);
    public static void main(String[] args){
        while ( read() ){
            solve();
        }
    }

    static boolean read(){
        if( !sc.hasNext() ) return false;
        n = sc.nextInt();
        array = new int[n];
        for (int i = 0; i < array.length; i++){
            array[i] = sc.nextInt();
        }
        return true;
    }

    static void solve(){
        int res = 0;
        boolean[] is_prime = eratosthenes(100000000);
        for (int value : array){
            if( is_prime[value] ) res++;
        }
        System.out.println(res);
    }

    static boolean[] eratosthenes(int n){
        if( n == 0 ) return new boolean[] {false};
        if( n == 1 ) return new boolean[] {false, false};
        boolean[] is_prime = new boolean[n+1];
        Arrays.fill(is_prime, true);
        is_prime[0] = false;
        is_prime[1] = false;
        for(int i = 2; i < is_prime.length; i++){
            if( is_prime[i]) {
                for (int j = i * 2; j < is_prime.length; j += i) {
                    is_prime[j] = false;
                }
            }
        }
        return is_prime;
    }
}