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: Wrong Answer)

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

#define SIZE (1000000)

int main(void) {
	int num[SIZE] = {1, 1};
	int i, j, e, f, n, d, c;
	
	e = (int)sqrt(SIZE);
	for (i = 2; i <= e; i++) {
		if (!num[i]) {
			f = SIZE / i;
			for (j = 2; j < f; j++) {
				num[i * j] = 1;
			}
		}
	}
	
	c = 0;
	scanf("%d", &n);
	for (i = 0; i < n; i++) {
		scanf("%d", &d);
		if (d < SIZE) {
			if (!num[d]) {
				c++;
			}
		} else {
			for (j = 2; j < SIZE; j++) {
				if (!num[j]) {
					if ((d % j) == 0) {
						break;
					}
				}
			}
			if (j == SIZE) {
				e = (int)sqrt(d);
				if ((j % 2) == 0) {
					j++;
				}
				for (; j <= e; j += 2) {
					if ((d % j) == 0) {
						break;
					}
				}
				if (j == e) {
					c++;
				}
			}
		}
	}
	printf("%d\n", c);

	return 0;
}