PROGRAM main FUNCTION foo(x, y : INTEGER): INTEGER; VAR i, j, k : INTEGER; ENDVAR BEGIN k := 1; j := 0; WHILE k <> y - 1 DO BEGIN k := (k * x) mod y; j := j + 1; END foo := j; END BEGIN VAR %% can be empty or completely missing ENDVAR BEGIN VAR w, x, z: INTEGER; ENDVAR x := foo(7, 97); WRITE(x); WRITESP(); z := foo(13, 17); WRITE(z); WRITELN(); END END