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