import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int n = scanner.nextInt();
Set<Integer> set = new TreeSet<Integer>(); //排序加去重
for(int i=0;i<n;i++){
set.add(scanner.nextInt());// 如果 set 中尚未存在指定的元素,则添加此元素(可选操作)。
}
StringBuilder sb=new StringBuilder();//接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串生成器中。
Iterator<Integer> it = set.iterator();//迭代器
while(it.hasNext()){ //It.hasNext()是判断游标后面还有没有可以迭代的元素
sb.append(it.next() + " ");//将 int 参数的字符串表示形式追加到此序列。
} //it.next():it.next()获得元素
System.out.println(set.size());// 返回 set 中的元素数(其容量)。
System.out.println(set.toString());//返回此序列中数据的字符串表示形式。
}
}
}