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.InputStreamReader;
import java.util.*;

public class Main {
    private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    private static final List<List<Integer>> factors = new ArrayList<>();
    private static final int MAX = 1000000;
    public static void main(String args[]) throws Exception {
        int n = Integer.parseInt(br.readLine());
        String[] tokens = br.readLine().split(" ");
        int[] freq = new int[MAX+1];
        int[] nums = new int[n];
        for(int i=0;i<n;i++){
            nums[i] = Integer.parseInt(tokens[i]);
            freq[nums[i]]++;
        }
        if(freq[1]>0){
            if(freq[1]==1)
                System.out.println(1);
            else
                System.out.println(0);
        }else{
            int count=0;
            Set<Integer> forbidden = new HashSet<>();
            for(int i=0;i<nums.length;i++){
                forbidden.addAll(multiples(nums[i]));
                if(freq[nums[i]]>1)
                    forbidden.add(nums[i]);
            }
            for(int i=0;i<nums.length;i++){
                if(!forbidden.contains(nums[i])){
                    count++;
                }
            }
            System.out.println(count);
        }

    }

    private static Set<Integer> multiples(int num){
        Set<Integer> set = new HashSet<>();
        for(int i=2*num;i<=MAX;i+=num){
            set.add(i);
        }
        return set;
    }
}