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


def eratosthenes(n)
  table = Array.new(n + 1,true)
  prime_list = []

  (2..n).each do |num|
      if table[num] == true
        prime_list << num
      k = num * num
      while k <= n
        table[k] = false
        k += num
      end
    end
  end
  return prime_list
end

def main()
  n = gets.to_i
  a = []
  n.times.each { |i|
    a.push(gets.to_i)
  }
  primes = eratosthenes(a.max)
  cnt = 0
  a.each { |e|
    if primes.include?(e) then
      cnt += 1
    end
  }
  puts cnt
end

main