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