Problem:
Score : 400 points

Problem Statement

Given is a number sequence A of length N.

Find the number of integers i \left(1 \leq i \leq N\right) with the following property:

For every integer j \left(1 \leq j \leq N\right) such that i \neq j , A_j does not divide A_i.

Constraints

All values in input are integers.

1 \leq N \leq 2 \times 10^5

1 \leq A_i \leq 10^6

Input

Input is given from Standard Input in the following format:

N
A_1 A_2 \cdots A_N

Output

Print the answer.

Sample Input 1

5
24 11 8 3 16

Sample Output 1

3

The integers with the property are 2, 3, and 4.

Sample Input 2

4
5 5 5 5

Sample Output 2

0

Note that there can be multiple equal numbers.

Sample Input 3

10
33 18 45 28 8 19 89 86 2 4

Sample Output 3

5

Solution in PHP (7.4.4) (judge verdict: Wrong Answer)

<?php
  $n = trim(fgets(STDIN));
  $arr = explode(" ", trim(fgets(STDIN)));
  sort($arr);
  $maxnum = $arr[count($arr) - 1];
  for($i = 0; $i < count($arr); $i++){
    $key = $arr[$i];
    $num = count($arr);
    $flg = true;
    for($j = $i+1; $j < $num; $j++){
      if($key == $arr[$j]){
        unset($arr[$i], $arr[$j]);
        $flg = false;
      } else if($arr[$j] % $key == 0){
        unset($arr[$j]);
      }
    }
    if($key > ceil($maxnum / 2)){
      break;
    }
    if(!$flg){
      $i--;
    }
    $arr = array_values($arr);
  }
  echo count($arr);
?>