BEGINNING-OF-PROGRAM

  DEFINE-NEW-INSTRUCTION turnright AS
  BEGIN
    turnleft;
    turnleft;
    turnleft
  END;

  DEFINE-NEW-INSTRUCTION uTurn AS
  BEGIN
    if facing-north then
    begin
      turnright;
      move;
      turnright;
      move
    end
    else
    begin
      turnleft;
      move;
      turnleft;
      move
    end
  END;

  DEFINE-NEW-INSTRUCTION pickUpLine AS
  BEGIN
    while next-to-a-beeper do
    begin
      pickbeeper;
      move
    end
  END;

  BEGINNING-OF-EXECUTION

    while next-to-a-beeper do
      begin
        pickUpLine;
        uTurn
      end;

    turnoff

  END-OF-EXECUTION

END-OF-PROGRAM