class program { define halfturn() { turnleft(); turnleft(); } define turnright() { iterate(3) { turnleft(); } } define recogeCamino() { while( nextToABeeper ) { pickbeeper(); if( frontIsClear ) { move(); if( notNextToABeeper ) { halfturn(); move(); turnleft(); if( frontIsClear ) { move(); if( notNextToABeeper ) { halfturn(); move(); if( frontIsClear ) { move(); if( notNextToABeeper ) { halfturn(); move(); } } } } else { halfturn(); if( frontIsClear ) { move(); if( notNextToABeeper ) { halfturn(); move(); } } } } } else { if( rightIsClear ) { turnright(); move(); if( notNextToABeeper ) { halfturn(); move(); if( frontIsClear ) { move(); if( notNextToABeeper ) { halfturn(); move(); } } } } else { if( leftIsClear ) { turnleft(); move(); if( notNextToABeeper ) { halfturn(); move(); } } } } } } program() { recogeCamino(); turnoff(); } }