program p(output);

   procedure A(procedure L);

      procedure B;
      begin {B}
	 L;
	 writeln('B')
      end   {B};

   begin {A}
      writeln('A');
      B
   end   {A};

   procedure C;
      label 99;

      procedure goto99; begin goto 99 end;

      procedure D;
      begin {D}
	 writeln('D');
	 A(goto99)
      end   {D};

   begin {C}
      writeln('C');
      D;
      99: {skip}
   end   {C};

begin
   C
end.
