import java.util.*;

public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		//要素数受け取り
		int n = sc.nextInt();
		//積みかねの合計値
		int tmp1;
		int tmp2;
		int tmp;
		Integer [] list = new Integer[n];
		for(int i = 0; i < n; i ++){
			list[i] = sc.nextInt();
		}
		Arrays.sort(list);
		List<Integer> Sortlist = new ArrayList<>(Arrays.asList(list));
		
		for(int t = n -1; 0 < t  ; t = t -1){
			tmp1 = Sortlist.get(t);
			tmp2 = Sortlist.get(t - 1);
			if(tmp1 == tmp2){
				Sortlist.remove(t);
			}
		}
		System.out.println(Sortlist.size());
	}
} import java.util.*; util.* java public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		//要素数受け取り
		int n = sc.nextInt();
		//積みかねの合計値
		int tmp1;
		int tmp2;
		int tmp;
		Integer [] list = new Integer[n];
		for(int i = 0; i < n; i ++){
			list[i] = sc.nextInt();
		}
		Arrays.sort(list);
		List<Integer> Sortlist = new ArrayList<>(Arrays.asList(list));
		
		for(int t = n -1; 0 < t  ; t = t -1){
			tmp1 = Sortlist.get(t);
			tmp2 = Sortlist.get(t - 1);
			if(tmp1 == tmp2){
				Sortlist.remove(t);
			}
		}
		System.out.println(Sortlist.size());
	}
} Main public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		//要素数受け取り
		int n = sc.nextInt();
		//積みかねの合計値
		int tmp1;
		int tmp2;
		int tmp;
		Integer [] list = new Integer[n];
		for(int i = 0; i < n; i ++){
			list[i] = sc.nextInt();
		}
		Arrays.sort(list);
		List<Integer> Sortlist = new ArrayList<>(Arrays.asList(list));
		
		for(int t = n -1; 0 < t  ; t = t -1){
			tmp1 = Sortlist.get(t);
			tmp2 = Sortlist.get(t - 1);
			if(tmp1 == tmp2){
				Sortlist.remove(t);
			}
		}
		System.out.println(Sortlist.size());
	} main {
		Scanner sc = new Scanner(System.in);
		//要素数受け取り
		int n = sc.nextInt();
		//積みかねの合計値
		int tmp1;
		int tmp2;
		int tmp;
		Integer [] list = new Integer[n];
		for(int i = 0; i < n; i ++){
			list[i] = sc.nextInt();
		}
		Arrays.sort(list);
		List<Integer> Sortlist = new ArrayList<>(Arrays.asList(list));
		
		for(int t = n -1; 0 < t  ; t = t -1){
			tmp1 = Sortlist.get(t);
			tmp2 = Sortlist.get(t - 1);
			if(tmp1 == tmp2){
				Sortlist.remove(t);
			}
		}
		System.out.println(Sortlist.size());
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int tmp1; tmp1 int tmp2; tmp2 int tmp; tmp Integer [] list = new Integer[n]; list new Integer[n] n for(int i = 0; i < n; i ++){
			list[i] = sc.nextInt();
		} int i = 0; int i = 0; i 0 i < n i n i ++ i ++ i {
			list[i] = sc.nextInt();
		} {
			list[i] = sc.nextInt();
		} list[i] = sc.nextInt() list[i] list i sc.nextInt() sc.nextInt sc Arrays.sort(list) Arrays.sort Arrays list List<Integer> Sortlist = new ArrayList<>(Arrays.asList(list)); Sortlist new ArrayList<>(Arrays.asList(list)) for(int t = n -1; 0 < t  ; t = t -1){
			tmp1 = Sortlist.get(t);
			tmp2 = Sortlist.get(t - 1);
			if(tmp1 == tmp2){
				Sortlist.remove(t);
			}
		} int t = n -1; int t = n -1; t n -1 n 1 0 < t 0 t t = t -1 t = t -1 t t -1 t 1 {
			tmp1 = Sortlist.get(t);
			tmp2 = Sortlist.get(t - 1);
			if(tmp1 == tmp2){
				Sortlist.remove(t);
			}
		} {
			tmp1 = Sortlist.get(t);
			tmp2 = Sortlist.get(t - 1);
			if(tmp1 == tmp2){
				Sortlist.remove(t);
			}
		} tmp1 = Sortlist.get(t) tmp1 Sortlist.get(t) Sortlist.get Sortlist t tmp2 = Sortlist.get(t - 1) tmp2 Sortlist.get(t - 1) Sortlist.get Sortlist t - 1 t 1 if(tmp1 == tmp2){
				Sortlist.remove(t);
			} tmp1 == tmp2 tmp1 tmp2 {
				Sortlist.remove(t);
			} Sortlist.remove(t) Sortlist.remove Sortlist t System.out.println(Sortlist.size()) System.out.println System.out System System.out Sortlist.size() Sortlist.size Sortlist String[] args args public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		//要素数受け取り
		int n = sc.nextInt();
		//積みかねの合計値
		int tmp1;
		int tmp2;
		int tmp;
		Integer [] list = new Integer[n];
		for(int i = 0; i < n; i ++){
			list[i] = sc.nextInt();
		}
		Arrays.sort(list);
		List<Integer> Sortlist = new ArrayList<>(Arrays.asList(list));
		
		for(int t = n -1; 0 < t  ; t = t -1){
			tmp1 = Sortlist.get(t);
			tmp2 = Sortlist.get(t - 1);
			if(tmp1 == tmp2){
				Sortlist.remove(t);
			}
		}
		System.out.println(Sortlist.size());
	}
} public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		//要素数受け取り
		int n = sc.nextInt();
		//積みかねの合計値
		int tmp1;
		int tmp2;
		int tmp;
		Integer [] list = new Integer[n];
		for(int i = 0; i < n; i ++){
			list[i] = sc.nextInt();
		}
		Arrays.sort(list);
		List<Integer> Sortlist = new ArrayList<>(Arrays.asList(list));
		
		for(int t = n -1; 0 < t  ; t = t -1){
			tmp1 = Sortlist.get(t);
			tmp2 = Sortlist.get(t - 1);
			if(tmp1 == tmp2){
				Sortlist.remove(t);
			}
		}
		System.out.println(Sortlist.size());
	}
} Main
import java.util.*;

public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		//要素数受け取り
		int n = sc.nextInt();
		//積みかねの合計値
		int tmp1;
		int tmp2;
		int tmp;
		Integer [] list = new Integer[n];
		for(int i = 0; i < n; i ++){
			list[i] = sc.nextInt();
		}
		Arrays.sort(list);
		List<Integer> Sortlist = new ArrayList<>(Arrays.asList(list));
		
		for(int t = n -1; 0 < t  ; t = t -1){
			tmp1 = Sortlist.get(t);
			tmp2 = Sortlist.get(t - 1);
			if(tmp1 == tmp2){
				Sortlist.remove(t);
			}
		}
		System.out.println(Sortlist.size());
	}
}
