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
****************************************************************/