(*{$N+,E+} *)
uses crt;
const max=20;

function fak(zahl:integer):integer;
begin
 if zahl=0 then fak:=1
 else fak:=fak(zahl-1)*zahl;
end;

var i,j,k :integer;
begin clrscr;
 for i:=1 to max do
  for j:=1 to max do
   for k:=1 to max do if ( fak(i)+fak(j)+fak(k) ) = (i*j*k)
                      then  writeln('--->     ',i,'     ',j,'     ',k );
end.