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.

Examples

Input

5
24 11 8 3 16


Output

3


Input

4
5 5 5 5


Output

0


Input

10
33 18 45 28 8 19 89 86 2 4


Output

5
import java.util.Arrays;
import java.util.Scanner;

public class Main {

  public static void main(String[] args) {
    // printTestValue();
    d();
  }

  public static void dTest() {
    long startTime = System.currentTimeMillis();
    d();
    long endTime = System.currentTimeMillis();
    System.out.println("処理時間：" + (endTime - startTime) + " ms");
  }

  public static void d() {

    try (Scanner sc = new Scanner(System.in)) {

      int listSize = Integer.parseInt(sc.next());
      Integer[] inputList = new Integer[listSize];
      for (int x = 0; x < listSize; x++) {
        inputList[x] = Integer.parseInt(sc.next());
      }
      Arrays.parallelSort(inputList);
      int[] resultList = new int[1000010];

      for (int checkNum : inputList) {
        if (resultList[checkNum] != 0) {
          resultList[checkNum]++;
          continue;
        }
        for (int targetMultiply = checkNum; targetMultiply < resultList.length;
          targetMultiply += checkNum) {
          resultList[targetMultiply]++;
        }
      }
      int ans = 0;
      for (int input : inputList) {
        if (resultList[input] == 1) ans++;
      }

      System.out.println(ans);

    } catch (Exception e) {
      System.out.println("エラー" + e);
    }
  }
  //
  // void tempCode() {
  // try (Scanner sc = new Scanner(System.in)) {
  // int a = Integer.parseInt(sc.next());
  // String b = sc.next();
  // }
  // }

  public static void printTestValue() {
    int valueA = (int) (2 * Math.pow(10d, 5d));
    int valueB = (int) Math.pow(10d, 6d);
    System.out.println(valueA);
    for (int x = 0; x < valueA; x++) {
      System.out.println(
        Math.round(Math.random() * Math.random() * Math.random() * valueB
          + Math.random() * 100));
    }
  }
}
