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 JavaScript (judge verdict: Wrong Answer)

const assert = require("assert");

const isPrime = n => {
  if (n == 1) {
    return false;
  }
  if (n == 2) {
    return true;
  }
  m = parseInt(n / 2, 10);
  for (let i = m; i > 1; i--) {
    if (n % i === 0) {
      return false;
    }
  }
  return true;
};

// console.log(isPrime(10));
// console.log(isPrime(9));
// console.log(isPrime(19));

// assert(isPrime(10), false);
// assert(isPrime(9), false);
// assert(isPrime(19), true);

const countPrime = numbers => {
  let counter = 0;
  numbers.forEach(n => {
    if (isPrime(n)) {
      counter = counter += 1;
    }
  });
  console.log(counter);
  return counter;
};

// lines = [16, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17];
// lines.forEach(n => {
//   console.log(`${n}: ${isPrime(n)}`);
// });
// countPrime(lines);

process.stdin.resume();
process.stdin.setEncoding("utf8");
let input_string = "";

process.stdin.on("data", chunk => {
  input_string += chunk;
});

process.stdin.on("end", () => {
  const lines = input_string.split("\n").filter(v => {
    return v !== "";
  });
  console.log(lines);
  countPrime(lines);
});