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

use std::io;
use std::f64;

fn read_line() -> String {
    let mut s = String::new();
    io::stdin().read_line(&mut s).unwrap();
    s
}

macro_rules! from_line {
    ($($a:ident : $t:ty),+) => {
        $(let $a: $t;)+
        {
            let _line = read_line();
            let mut _it = _line.trim().split_whitespace();
            $($a = _it.next().unwrap().parse().unwrap();)+
                assert!(_it.next().is_none());
        }
    };
}

fn isPrime(x: u64) -> bool {
    let mut ret = true;
    //let limit = f64::sqrt(x as f64) as u64 + 1;
    for i in 2..x {
        if x % i == 0 {
            ret = false;
            break;
        }
    }
    ret
}

fn main() {

    let mut count = 0;
    from_line!(n: u64);
    for _ in 0..n {
        from_line!(num: u64);

        if isPrime(num) {
            count += 1;
        }
    }
    println!("{}", count);

}