var
a:array[1..1000] of boolean;
i,j,m,n,x:longint;
begin
readln(n);
m:=0;
for i:=1 to n do
begin
read(x);
a[x]:=true;
end;
for i:=1 to 1000 do if a[i]=true then m:=m+1;
writeln(m);
for j:=1 to 1000 do if a[j]=true then write(j,' ');
end.
/**************************************************************
Problem: 1765
User: admin
Language: Pascal
Result: Wrong Answer
****************************************************************/