class program { define halfTurn() { iterate(2) turnleft(); } define vistaAlNorte() { while(notFacingNorth) turnleft(); } define paridad() { while(nextToABeeper) { halfTurn(); pickbeeper(); } } define ponDos() { iterate(2) putbeeper(); } define cosechaFila() { vistaAlNorte(); while(nextToABeeper) { paridad(); if(facingNorth) ponDos(); else putbeeper(); vistaAlNorte(); move(); } } define regresa() { halfTurn(); move(); while(nextToABeeper && frontIsClear) move(); } define siguienteFila() { turnleft(); move(); turnleft(); move(); } program() { while(nextToABeeper) { cosechaFila(); regresa(); siguienteFila(); } turnoff(); } }