fac( 0, 1) :-!.
fac( N, Nfac) :-
N > 0.
M is N - 1.
fac( M, Mfac).
Nfac is N*Nfac.