@1
L:MOV DOWN ACC
SAV
MOV ACC RIGHT
JEZ L
MOV RIGHT ACC
JNZ K
SWP
MOV ACC DOWN
NEG
JMP O
K:SWP
MOV 0 DOWN
O:MOV ACC RIGHT

@2
A:MOV RIGHT ACC
MOV ACC DOWN
JNZ A
L:MOV LEFT ACC
JEZ E
SUB RIGHT
MOV -1 RIGHT
MOV ACC LEFT
MOV LEFT DOWN
JMP L
E:MOV 0 DOWN
MOV RIGHT NIL
MOV -3 RIGHT
JMP L

@3
A:MOV UP ACC
MOV ACC LEFT
JNZ A
B:MOV UP ACC
JEZ C
R:MOV ACC LEFT
JRO LEFT
C:MOV UP ACC
NEG
T:MOV ACC LEFT
JRO LEFT

@4
MOV 0 LEFT
A:MOV RIGHT ACC
JEZ L
MOV ACC LEFT
JMP A
L:MOV LEFT ACC
MOV ACC UP
JEZ E
MOV UP DOWN
JMP L
E:MOV 0 LEFT
R:MOV RIGHT ACC
JEZ L
MOV ACC LEFT
JMP R

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

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