@0 MOV -1 ACC ADD UP 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 JEZ E G: MOV 4 ANY SUB 1 SWP MOV ACC DOWN SWP JGZ G JMP S E: 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