beginning-of-program define-new-instruction turnright as begin turnleft; turnleft; turnleft; end; define-new-instruction go-to-next-row as begin turnleft; move; turnleft; end; define-new-instruction position-for-next as begin turnright; move; turnright; end; define-new-instruction step-back as begin turnleft; turnleft; move; turnleft; turnleft; end; define-new-instruction harvest-1-row as begin while next-to-a-beeper do begin pickbeeper; move; end; step-back; end; define-new-instruction harvest-2-rows as begin harvest-1-row; go-to-next-row; harvest-1-row; end; beginning-of-execution move; while next-to-a-beeper do begin harvest-1-row; go-to-next-row; if next-to-a-beeper then begin harvest-1-row; position-for-next; end; end; position-for-next; move; turnoff; end-of-execution end-of-program