MODULE Main; IMPORT Fmt, Scan, Params, Wr, Stdio; PROCEDURE Ack(M, N: INTEGER): INTEGER = BEGIN IF M = 0 THEN RETURN N+1; ELSE IF N = 0 THEN RETURN Ack(M-1, 1); ELSE RETURN Ack(M-1, Ack(M, N-1)); END; END; END Ack; VAR N: INTEGER; BEGIN IF Params.Count > 0 THEN N := Scan.Int(Params.Get(1)); ELSE N := 1; END; Wr.PutText (Stdio.stdout, "Ack(3," & Fmt.Int(N) & "): " & Fmt.Int(Ack(3, N))); Wr.Close (Stdio.stdout); END Main.