@0
MOV 0 DOWN
A:MOV RIGHT ACC
JEZ A
MOV ACC DOWN
JMP A

@1
R:MOV RIGHT ACC
MOV ACC LEFT
JNZ R
Q:MOV RIGHT ACC
MOV 0 DOWN
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 -3 LEFT
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
MOV ACC DOWN
SUB UP
MOV ACC DOWN
MOV DOWN RIGHT
JRO DOWN
E:MOV 0 LEFT
MOV UP NIL
MOV 0 RIGHT
R:MOV RIGHT ACC
JEZ W
MOV ACC LEFT
JMP R

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

@7
L:MOV UP ACC
SAV
MOV UP ACC
JNZ K
SWP
NEG
JGZ O
R:MOV ACC UP
MOV 2 UP
JMP L
O:MOV ACC DOWN
JMP R
K:SWP
MOV ACC UP
MOV -6 UP
