const fi='SAPXAU.INP';
fo='SAPXAU.OUT';
var st,t:string;
i,n,j:byte;
s:array[0..30] of string;
f1,f2:text;
begin
assign(f1,fi);reset(f1);
assign(f2,fo);rewrite(f2);
readln(f1,st);
st:=st+' ';
n:=0;
while pos(' ',st)<>0 do
begin
inc(n);
s[n]:=copy(st,1,pos(' ',st)-1);
delete(st,1,pos(' ',st));
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if length(s[i])>length(s[j]) then
begin
t:=s[i];s[i]:=s[j];s[j]:=t;
end;
for i:=1 to n do write(f2,s[i],' ');
close(f1);close(f2);
end.