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>
#define N 10000
int isprime(int);
int main()
{
  int input;
  int data[N];
  int count=0;
  int  n;
  int i, j;

  scanf("%d",&n);
  for( i=0; i<n; i++ )
    {
      scanf("%d",&input);
      if( input >= 2 )
	{
	  data[i] = input;
	}
    }

  for( i = 0; i < n; i++ )
    {
      if( isprime(data[i]) == 1 )
	{
	  count++;
	}
    }

  printf("%d\n",count);
  return 0;
}

int isprime(int x)
{
  /*this function will return 1 for a prime number and 0 for non-prime number*/
  int i = 2;
  int tmp = 1;
  while(1)
    {
      if( x <= i ) break;
      if( x == 2 )
	{
	  return 1;
	}
      else if ( x == 0)
	{
	  return 0;
	} 
      else if( x % i == 0 )
	{
	  tmp = 0;  
	}
      
      i++;
    }
  if( tmp == 1 )
    {
      return 1;
    }
  else return 0;
}