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