@0 S: MOV -50 ACC ADD RIGHT JLZ L SUB 25 JLZ 2 MOV 3 DOWN JMP S 2: MOV 2 DOWN JMP S L: ADD 25 JLZ 0 1: MOV 1 DOWN JMP S 0: MOV 0 ANY @1 MOV 18 ACC MOV UP LEFT MOV UP NIL G: MOV UP RIGHT MOV UP LEFT SUB 1 JGZ G MOV UP LEFT MOV -1 DOWN MOV -1 DOWN @2 S: MOV -50 ACC ADD LEFT JLZ L SUB 25 JLZ 2 MOV 3 DOWN JMP S 2: MOV 2 DOWN JMP S L: ADD 25 JLZ 0 1: MOV 1 DOWN JMP S 0: MOV 0 DOWN @3 MOV UP RIGHT MOV UP ACC MOV ACC ANY MOV ACC ANY JRO -3 @4 SUB LEFT MOV ACC DOWN NEG JGZ 0 SUB ANY JRO 2 N: MOV 1 DOWN MOV LAST NIL E: MOV ANY NIL MOV ACC DOWN Z: MOV LAST ACC 0: SUB ANY JNZ N JMP Z @5 MOV UP ACC MOV ACC LEFT MOV ACC LEFT @6 SUB UP MOV ACC RIGHT MOV ACC DOWN MOV ACC DOWN JRO ANY MOV RIGHT NIL MOV -7 RIGHT @7 MOV LEFT ACC JNZ E MOV 2 ACC! MOV -4 LEFT MOV ACC ANY MOV LEFT ACC E: SWP MOV ACC LAST MOV 1 ACC MOV -1 LEFT ADD 1 JRO ANY @8 MOV -2 LEFT