class program { define turnright() { iterate(3) turnleft(); } define halfturn() { iterate(2) turnleft(); } define pasoDiagonal() { move(); turnright(); move(); turnleft(); } define miraAlEste() { while( notFacingEast ) turnleft(); } define buscaBeeper() { pickbeeper(); pasoDiagonal(); if( nextToABeeper ) turnoff(); putbeeper(); pasoDiagonal(); while( notNextToABeeper ) pasoDiagonal(); } program() { miraAlEste(); if( rightIsBlocked ) turnoff(); putbeeper(); while( rightIsClear ) pasoDiagonal(); putbeeper(); halfturn(); while( rightIsClear ) { buscaBeeper(); halfturn(); buscaBeeper(); halfturn(); } turnoff(); } }