(*{$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.