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 Go (judge verdict: Accepted)

package main

import (
    "bufio"
    "fmt"
    "os"
    "strconv"
)

var sc = bufio.NewScanner(os.Stdin)

func readNextInt() int{
  sc.Scan()
  n, _ := strconv.Atoi(sc.Text())
  return n
}

func isPrime(n int) bool {
  flag := true
  if n == 1 {
    flag = false
  }else if n==2 {
    flag = true
  }else{
    for i:=2; i*i <= n; i++{
      if n%i == 0{
        flag = false
      }
    }
  }
  return flag
}

func main() {
  //sc.Split(bufio.ScanWords)
  datanum := readNextInt()
  var inputs []int
  output := 0

  for i:=0; i<datanum; i++{
    inputs = append(inputs,readNextInt())
  }

  for i :=0; i<datanum; i++{
    if isPrime(inputs[i]) {
      output++
    }
  }

  fmt.Println(output)
}