@0 @1 MOV UP DOWN MOV UP ACC SWP M: MOV UP ACC JEZ EZ SWP MOV -1 DOWN MOV ACC DOWN JMP M EZ: MOV 1 DOWN SWP MOV ACC DOWN MOV 3 ACC S: SUB 1 JNZ S @2 @3 @4 MOV RIGHT ACC JRO RIGHT SUB 508 SUB RIGHT JGZ END ADD 449 JGZ END ADD 64 JGZ END ADD 13 JGZ END ADD 43 JGZ END ADD 388 END: MOV ACC DOWN @5 @6 @7 START: JRO UP 1: SUB 15 ADD 8 3: ADD 4 4: SUB 508 5: ADD 448 6: ADD 64 MOV ACC DOWN MOV 0 ACC JMP START HCF 11: JMP 6 12: ADD 1 JMP 1