class program { define halfturn() { iterate( 2 ) turnleft(); } define findbeeper() { while( notNextToABeeper ) move(); } define return() { while( frontIsClear ) move(); halfturn(); } define pickline() { if( nextToABeeper && frontIsClear ) { move(); if( nextToABeeper ) { halfturn(); move(); halfturn(); while( frontIsClear ) { pickbeeper(); move(); } pickbeeper(); } else { halfturn(); move(); } } else if( frontIsBlocked ) turnoff(); } program() { if( notNextToABeeper ) findbeeper(); else while( nextToABeeper ) { pickline(); if( notFacingWest ) { halfturn(); return(); } else turnoff(); } findbeeper(); turnoff(); } }