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.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.StringTokenizer;

public class Main {

    public static void main(String[] args) throws IOException {
        new Main().solve();
    }

    private void solve() throws IOException {
        BufferedReader f = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter out = new PrintWriter(System.out);

        int n = Integer.parseInt(f.readLine());
        int[] isDivisibleBy = new int[1000001];
        StringTokenizer tokenizer = new StringTokenizer(f.readLine());
        int[] ar = new int[n];
        HashMap<Integer, Integer> nums = new HashMap<Integer, Integer>();
        for (int i = 0; i < n; i++) {
            int num = Integer.parseInt(tokenizer.nextToken());
            if (!nums.containsKey(num)) {
                nums.put(num, 0);
            }
            nums.put(num, nums.get(num) + 1);
            ar[i] = num;
            isDivisibleBy[num]++;
        }



        int res = 0;
        for (int i : nums.keySet()) {
            if (nums.get(i) > 1) {
                continue;
            }
            boolean good = true;
            for (int j = 1; j <= Math.sqrt(i); j++) {
                if (i % j == 0) {
                    int div1 = j;
                    int div2 = i / j;
                    if (div1 != i && nums.containsKey(div1)) {
                        good = false;
                        break;
                    }
                    if (div2 != i && nums.containsKey(div2)) {
                        good = false;
                        break;
                    }
                }
            }
            if (good) res++;
        }

        System.out.println(res);
    }
}
