@0
MOV 0 DOWN
A:MOV RIGHT ACC
JNZ P
MOV RIGHT ACC
MOV 0 DOWN
P:MOV ACC DOWN
JMP A

@1
R:MOV RIGHT ACC
MOV ACC LEFT
JNZ R
MOV 0 DOWN
Q:MOV RIGHT ACC
L:MOV ACC DOWN
JRO RIGHT

@2
A:MOV RIGHT ACC
MOV ACC LEFT
JNZ A
Q:MOV RIGHT LEFT
L:MOV DOWN ACC
JEZ E
MOV -1 LEFT
JMP L
E:MOV -6 LEFT
R:MOV DOWN ACC
MOV ACC LEFT
JNZ R
JMP Q

@3
A:MOV UP ACC
MOV ACC LEFT
JNZ A
B:MOV UP ACC
JEZ C
MOV ACC LEFT
JMP B
C:MOV UP ACC
NEG
MOV ACC LEFT
JMP C

@4
W:MOV UP NIL
L:MOV LEFT ACC
JEZ E
SAV
SUB UP
JNZ K
SWP
MOV ACC DOWN
NEG
JMP O
K:SWP
O:MOV ACC RIGHT
JMP L
E:MOV UP NIL
MOV 0 RIGHT

@5
MOV 0 DOWN
L:MOV LEFT ACC
MOV ACC UP
JEZ R
MOV ACC DOWN
JMP L
R:MOV DOWN ACC
MOV ACC UP
JNZ R
MOV 0 DOWN
JMP L

@7
L:MOV UP ACC
JGZ L
NEG
MOV ACC DOWN
