MODULE ackerman; IMPORT Out; VAR m, n : INTEGER; PROCEDURE Ackerman (x, y : INTEGER) : INTEGER; BEGIN IF x = 0 THEN RETURN y + 1 ELSIF y = 0 THEN RETURN Ackerman (x - 1 , 1) ELSE RETURN Ackerman (x - 1 , Ackerman (x , y - 1)) END END Ackerman; BEGIN FOR m := 0 TO 3 DO FOR n := 0 TO 6 DO Out.Int (Ackerman (m, n), 10); Out.Char (9X) END; Out.Ln END; Out.Ln END ackerman.