program random(input,output);
var
n:longint;
shu:array[1..1000] of boolean;
s,max,i,j:longint;
begin
readln(n);
s:=n;
for i:=1 to n do
begin
read(j);
if shu[j]=true then s:=s-1;
shu[j]:=true;
end;
writeln(s);
for i:=1 to 1000 do
if shu[i]=true then
if max<>0 then write(' ',i) else
begin
write(i);
max:=1;
end;
end.
/**************************************************************
Problem: 2260
User: admin
Language: Pascal
Result: Wrong Answer
****************************************************************/