@0 MOV RIGHT ACC A: SUB RIGHT JLZ L MOV -2 RIGHT JMP A L: MOV 1 RIGHT JMP N B: MOV -2 RIGHT N: ADD RIGHT JLZ B MOV -99 RIGHT MOV 1 DOWN MOV ACC DOWN @1 MOV UP RIGHT! MOV RIGHT ACC SAV ADD ACC ADD ACC MOV UP DOWN MOV UP LEFT ADD ACC MOV ACC LEFT MOV -2 DOWN A: JRO LEFT SWP MOV ACC LEFT MOV -1 DOWN B: JRO LEFT @2 MOV UP ACC MOV LEFT RIGHT MOV UP DOWN MOV UP LEFT SAV ADD ACC ADD ACC ADD ACC MOV ACC RIGHT MOV 5 ANY A: JRO RIGHT SWP MOV ACC RIGHT MOV -1 DOWN B: JRO RIGHT @3 MOV LEFT ACC A: SUB LEFT JLZ L MOV -2 LEFT JGZ A MOV LEFT NIL JRO LEFT L: MOV 1 LEFT JMP N B: MOV -2 LEFT N: ADD LEFT JLZ B MOV 6 DOWN MOV -99 LEFT MOV ACC DOWN @4 MOV RIGHT LEFT MOV UP RIGHT MOV -8 ACC ADD 9 SUB 1 JRO ANY MOV ACC DOWN @5 MOV UP ACC MOV ACC LEFT MOV ACC DOWN MOV LEFT DOWN JRO UP SUB 1 J: JRO ANY 8: ADD 8 JMP J MOV 8 ACC JMP J JMP 8 MOV ACC DOWN MOV RIGHT DOWN @6 MOV UP ACC ADD ACC ADD ACC ADD ACC MOV ACC RIGHT MOV -500 ACC L: ADD RIGHT JLZ L MOV ACC RIGHT MOV UP RIGHT @7 MOV RIGHT ACC SAV ADD LEFT MOV ACC RIGHT MOV 9 LEFT A: JRO RIGHT SWP MOV ACC RIGHT MOV -1 LEFT B: JRO RIGHT MOV 500 LEFT MOV RIGHT DOWN MOV LEFT DOWN MOV UP DOWN MOV LEFT RIGHT @8 MOV UP LEFT MOV UP ACC A: SUB LEFT JLZ L MOV -2 LEFT JMP A B: MOV -2 LEFT N: ADD LEFT JLZ B L: MOV 1 LEFT JLZ N MOV UP LEFT MOV UP DOWN MOV ACC DOWN MOV LEFT DOWN