FUNC FACT (N); NAME: R; 1 -> P; FOR I FROM 1 TO N :: R * I -> R ALL RES: R KNC; FOR N FROM 0 TO 6 :: ? "FACT(", N, ") = ", FACT(N) ALL;