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

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int isprime(long x)
{
    long i;

    if (x==2)
        return 1;
    if (!(x & 1))
        return 0;
    if (x==1)
        return 0;
    for (i=3; i<=10000000 && i<=x; i+=2){
        if (x == i)
            return 1;
        if (!(x % i))
            return 0;
    }
}
int main(void)
{
    int i,n,sum; long *Array;

    scanf("%d", &n);
    Array=malloc(sizeof(long)*n);
    for (i=0; i<n; i++)
        scanf("%ld", &Array[i]);
    for (i=sum=0; i<n; i++){
        if (isprime(Array[i]))
            sum++;
    }
    printf("%d\n", sum);
    return 0;
}