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 = intval(fgets(STDIN));

  $data = explode(" ", trim(fgets(STDIN)));
  sort($data);

  $max = $data[$n-1];
  $flags = [];
  for($i=0; $i<$n; $i++){
    if($i>0 && $data[$i-1]==$data[$i]){
      //同じ数字2回目なので、自身もフラグオン
      $flags[$data[$i]] = true;
    }else{
      $j = 2;  //自身を含まないように2倍からスタート
      while($data[$i]*$j<$max){
        $idx = $data[$i]*$j;
        
        $flags[$idx] = true;
        //echo $idx." is true\n";
        /*
        if(isset($flags[$idx])){
          //チェック済みなのでブレーク
          break;
        }else{
          $flags[$idx] = true;
          echo $idx." is true\n";
        }
        */

        $j++;
      }
    }
  }
  
  $count = 0;
  for($i=0; $i<$n; $i++){
    if(!isset($flags[$data[$i]])){
      $count++;
    }
  }
  echo $count."\n";