//This DJ program inputs a natural number n //and then outputs n factorial, which is //calculated in a recursive function class Factorial extends Object { // Returns n! nat factorial(nat n) { if(n>1) {n*factorial(n-1);} else {1;}; } } main { var Factorial f; f = new Factorial; printNat(f.factorial(readNat())); }