var
ine:longint;
d:array[1..5000] of longint;
a,i,h,j,g,e:longint;
begin
readln(a);
for g:=1 to a do begin
read(d[g]);
end;
for i:=1 to a-1 do
for j:=a downto i+1 do
begin
if d[j]<d[j-1] then
begin
ine:=d[j];
d[j]:=d[j-1];
d[j-1]:=ine;
end;
if d[j]=d[j-1] then begin
for h:=j to a do
d[h]:=d[h+1];
a:=a-1;
end;
end;
writeln(a);
for e:=1 to a do
begin
write(d[e],' ');
end;
end.
ine:longint;
d:array[1..5000] of longint;
a,i,h,j,g,e:longint;
begin
readln(a);
for g:=1 to a do begin
read(d[g]);
end;
for i:=1 to a-1 do
for j:=a downto i+1 do
begin
if d[j]<d[j-1] then
begin
ine:=d[j];
d[j]:=d[j-1];
d[j-1]:=ine;
end;
if d[j]=d[j-1] then begin
for h:=j to a do
d[h]:=d[h+1];
a:=a-1;
end;
end;
writeln(a);
for e:=1 to a do
begin
write(d[e],' ');
end;
end.