class program { define turnright() { iterate( 3 ) turnleft(); } define movediagonalup() { move(); turnleft(); move(); turnright(); } define movediagonaldown() { move(); turnright(); move(); turnleft(); } define halfturn() { iterate( 2 ) turnleft(); } define fillline() { while( notNextToABeeper ) { putbeeper(); move(); } } define fill() { while( anyBeepersInBeeperBag ) { fillline(); if( rightIsClear ) { halfturn(); movediagonalup(); move(); } if( anyBeepersInBeeperBag ) { fillline(); halfturn(); movediagonaldown(); move(); } } } program() { while( leftIsClear ) { putbeeper(); movediagonalup(); } putbeeper(); while( rightIsClear ) { movediagonaldown(); putbeeper(); } if( anyBeepersInBeeperBag ) { halfturn(); move(); fill(); } turnoff(); } }