define main { turnleft ; move ; turnright ; plant_garden ; } define plant_garden { move ; if ( OnBeeper ) { takebeeper ; move ; if ( OnBeeper ) takebeeper ; else { move ; if ( FrontIsClear ) move ; else dropbeeper ; } } } define plant_row { move ; plant_garden ; move ; main ; } define turnright { turnleft ; turnleft ; turnleft ; } define plant_field { while ( FrontIsClear ) { plant_row ; turnleft ; move ; turnright ; } }