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.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    int[] arr = new int[n];
    int ans = 0;
    int max = Integer.MIN_VALUE;
    int min = Integer.MAX_VALUE;
    for (int i = 0; i < n; i++) {
      arr[i] = sc.nextInt();
      max = Math.max(max, arr[i]);
      min = Math.min(min, arr[i]);
    }

    System.out.println(sovle(arr, min, max));
    System.out.flush();
    sc.close();
  }

  private static int sovle(int[] arr, int min, int max) {
    int ans = 0;
    Set<Integer> canBeDivided = new HashSet<>();
    for (int i = 0; i < arr.length; i++) {
      int j = 2;
      while ((j * arr[i]) <= max) {
        canBeDivided.add(j * arr[i]);
        j++;
      }
    }
    Set<Integer> allElem = new HashSet<>();
    for (int i = 0; i < arr.length; i++) {
      if (!allElem.contains(arr[i])) {
        allElem.add(arr[i]);
      } else {
        canBeDivided.add(arr[i]);
      }
    }
    for (int i = 0; i < arr.length; i++) {
      if (!canBeDivided.contains(arr[i])) {
        ans++;
      }
    }
    return ans;
  }

  private static int solve(int[] arr) {
    int ans = 0;
    boolean[] checked = new boolean[arr.length];
    Arrays.sort(arr);
    for (int i = arr.length - 1; i >= 0; i--) {
      boolean found = false;
      //      for (int j = 0; j < arr.length && !found; j++) {
      int j = 0;
      while (j < arr.length && arr[j] <= arr[i] && !found) {
        if (i != j && arr[i] % arr[j] == 0) {
          //          System.out.println(arr[i]+" "+arr[j]);
          found = true;
        }
        j++;
      }
      if (!found) {
        ans++;
      }
    }
    return ans;
  }
}
