@0 @1 MOV UP NIL 1: MOV -4 DOWN S: MOV -25 ACC ADD UP JGZ 123 LO: ADD 20 JLZ 23 0: MOV -5 DOWN MOV -25 ACC ADD UP JLZ LO 123: SUB 25 JLZ 1 23: MOV ACC DOWN JMP S @2 @3 @4 MOV UP NIL JMP S 2: MOV 2 DOWN JMP S LO: ADD 5 MOV ACC DOWN S: MOV UP ACC JLZ LO HI: SUB 25 JLZ 2 3: MOV 3 DOWN JMP S @5 @6 MOV UP ACC MOV ACC RIGHT MOV ACC ANY MOV ACC DOWN @7 MOV 1 ACC MOV LAST NIL SWP E: MOV ANY ACC SWP ADD 1 SWP SUB LEFT JEZ E ADD LEFT SWP MOV ACC DOWN SWP MOV ACC DOWN @8