program Ackermann; function Ack(M, N: cardinal): cardinal; begin if M = 0 then Ack := N+1 else if N = 0 then Ack := Ack(M-1, 1) else Ack := Ack(M-1, Ack(M, N-1)) End; var code: integer; NUM, a : cardinal; begin NUM := 1; if ParamCount=1 then val(ParamStr(1),NUM,Code); a := Ack(3, NUM); WriteLn('Ack(3,',NUM,'): ',a); end.