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.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        var N = Integer.parseInt(scanner.next());
        var A = new int[N];
        var A_max = 0;
        for (int i = 0; i < N; ++i) {
            A[i] = Integer.parseInt(scanner.next());
            if (A_max < A[i]) A_max = A[i];
        }
        Arrays.parallelSort(A);
        var isP = new boolean[A_max + 1];
        var checked = new boolean[A_max + 1];
        for (int i = 0; i <= A_max; ++i) {
            isP[i] = true;
            checked[i] = false;
        }
        for (int i = 0; i < N; ++i) {
            if (checked[A[i]]) {
                isP[A[i]] = false;
                continue;
            }
            checked[A[i]] = true;
            for (int mul = A[i] * 2; mul <= A_max; mul += A[i])
                isP[mul] = false;
        }
        int numP = 0;
        for (int i = 0; i < N; ++i) if (isP[A[i]]) ++numP;
        System.out.println(numP);
    }
}
