import java.util.Scanner;
import java.util.TreeSet;

public class Main {    
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        while(sc.hasNext()){ //等待输入
            int num = sc.nextInt();//存入数个数
            TreeSet<Integer> set = new TreeSet<Integer>(); 
            for(int i = 0 ; i < num ;i++){
                int curr = sc.nextInt();
                set.add(curr);
            }
            for(Integer i : set){
            //输出函数要放在hasNext()里是因为,hasNext一致要求有输入,
            //一直是true,所以如果将for循环的输出函数放在while之后,
            //就会一直运行不到,一直要求有输入。
                System.out.println(i);
            }
        }
    }
}
import java.util.Scanner;
import java.util.TreeSet;

public class 明明的随机数 {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
                TreeSet<Integer> set = new TreeSet<Integer>();

            while(!sc.hasNext("#")){ //等待输入,直到输入#
                int num = sc.nextInt();//存入数个数
                for(int i = 0 ; i < num ;i++){
                    int curr = sc.nextInt();
                    set.add(curr);
                }  
            }
               for(Integer i : set){
                    //打印函数放在while循环之后
                    System.out.println(i);                
           }     
      }    
}