begin
integer
S;
procedure P(F, G);
procedure
F,
G;comment(X,Y):'PROCEDURE' X,Y;
begin
integer
X;
procedure R(F, G);
procedure F, G;comment(X,Y):'PROCEDURE' X,Y;
begin
OUTREAL(99, S);
OUTREAL(99, X)
end;
S ≔ S + 1;
X ≔ S;
if S = 1 then
P(F, R)
else
F(G, R)
end P;
procedure Q(F, G);
procedure
F,
G;comment(X,Y):'PROCEDURE' X,Y;
begin
F( Q, Q );
G( Q, Q)
end Q;
S ≔ 0;
P(Q, P);
end