@0 @1 MOV UP DOWN MOV UP ACC SWP M: MOV UP ACC JEZ Z N: SWP MOV -1 DOWN MOV ACC DOWN MOV UP ACC JNZ N Z: SWP MOV 1 DOWN MOV ACC DOWN @2 @3 @4 MOV RIGHT ACC S: JRO RIGHT SUB 59 SUB RIGHT JGZ E ADD 77 JLZ L SUB 13 JGZ E MOV 6 DOWN MOV RIGHT ACC JMP S L: ADD 43 E: MOV ACC DOWN @5 @6 @7 S: MOV 0 ACC JRO UP 1: SUB 15 ADD 8 3: ADD 4 4: SUB 508 5: ADD 448 6: ADD 64 O: MOV ACC DOWN JEZ 1