@0 MOV -1 ACC ADD UP SWP MOV RIGHT ACC G: SWP MOV ACC RIGHT SWP SUB 1 JGZ G MOV 0 RIGHT @1 E: MOV 1 LAST MOV 4 DOWN MOV UP LEFT S: MOV DOWN ACC SWP MOV LEFT ACC JEZ E G: MOV 9 ANY SUB 1 SWP MOV ACC DOWN SWP JGZ G MOV 5 DOWN JMP S @2 @3 @4 @5 S: JRO ANY G: MOV -19 DOWN SUB 1 JMP S MOV 1 ACC SUB 999 MOV ACC UP MOV -9 DOWN JMP + MOV -7 DOWN ADD UP MOV DOWN DOWN JGZ G MOV -20 DOWN +: ADD 999 @6 @7 MOV ACC ANY SUB ACC SAV JMP S SWP MOV ACC UP SWP ADD UP ADD UP L: ADD 10 JLZ L S: JRO UP @8 @9