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.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

public class Main {

     static Scanner scanner;

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

         int N=gi();
         int[] a=new int[N];
         boolean[] b=new boolean[1000001];
         Map<Integer,Integer> m=new HashMap<Integer,Integer>();

         for(int i=0; i<N;i++) {
        	 a[i]=gi();
        	 if(m.containsKey(a[i])) {
        		 m.put(a[i], m.get(a[i])+1);
        	 } else {
        		 m.put(a[i], 1);
        	 }
         }

         Arrays.parallelSort(a);

         int ans=0;
         for(int i=0; i<N;i++) {
             int v=a[i];
             if(m.get(v)==1 && b[v]==false) ans++;
             for(int j=v*2; j<=1000000; j+=v) {
            	 b[j]=true;
             }
             i+=m.get(v)-1;
         }

         System.out.println(ans);
     }

  // 素因数分解
 	public static List<Long> insuB(long n) {
 		List<Long> l=new ArrayList<Long>();
 		long tmp=n;
 		for(long i=2; i<=Math.sqrt(n); i++) {
 			while(tmp%i==0) {
 				tmp=tmp/i;
 				l.add(i);
 			}
 		}
 		if(tmp!=1) l.add(tmp);

 		return l;
 	}

     // 文字列として入力を取得
     public static String gs() {
          return scanner.next();
     }

     // intとして入力を取得
     public static int gi() {
          return Integer.parseInt(scanner.next());
     }

     // longとして入力を取得
     public static long gl() {
          return Long.parseLong(scanner.next());
     }

     // doubleとして入力を取得
     public static double gd() {
          return Double.parseDouble(scanner.next());
     }
}