uses crt;
var
  tin,tout:text;
  visit:array[1..10000] of integer;
  x,s:string;
  aa,bb:longint;
  procedure permute(y:integer);
  var
    aaa:integer;
  begin
    visit[y]:=1;
    s:=s+x[y];
    for aaa:= 1 to length(x) do
    begin
      if visit[aaa] = 0 then permute(aaa);
    end;
    if length(s) = length(x) then writeln(s);
    delete(s,length(s),1);
    visit[y]:=0;
  end;
begin
  assign(tin,'DATA2.txt');reset(tin);
  assign(tout,'OUT2.txt');rewrite(tout);
  for bb:= 1 to 5 do
  begin
    readln(tout,x);
    s:='';
    for aa:= 1 to length(x) do
    begin
      permute(aa);
    end;
  end;
  close(tout);
end.

