program ex_random;
var a:array[1..1000]of boolean;
n,m,i,k:integer;
procedure setIO;
begin
assign(input,'random.in');
reset(input);
assign(output,'random.out');
rewrite(output);
end;
procedure closefile;
begin
close(input);
close(output);
end;
begin
setIO;
fillchar(a,sizeof(a),false);
k:=0;
readln(n);
for i:=1 to n do
begin
read(m);
if not a[m] then
begin
a[m]:=true;
k:=k+1;
end;
end;
writeln(k);
k:=1;
for i:=1 to 1000 do
if a then write(i,' ');
closefile;
end.