@1
L: MOV UP ACC
N: SAV
MOV ACC DOWN
MOV DOWN ACC
MOV ACC RIGHT
JRO RIGHT
SWP
JMP N
JMP L
JMP N
SWP
NEG
MOV ACC DOWN
JMP L

@2
R: MOV LEFT ACC
JLZ F
SUB 1
JEZ E
MOV 6 DOWN
MOV 4 LEFT
JMP R
E: MOV 8 DOWN
MOV 3 LEFT
JMP R
F: MOV 1 DOWN
NEG
MOV ACC DOWN
MOV DOWN LEFT

@3
R: MOV 0 ACC
SAV
L: MOV RIGHT ACC
JLZ F
SWP
ADD 1
SWP
JNZ L
SWP
MOV ACC RIGHT
JMP R
F: SWP
ADD 1
NEG
MOV ACC RIGHT

@4
N: MOV UP ACC
JLZ P
L: SUB RIGHT
MOV ACC LEFT
JGZ R
MOV 1 RIGHT
MOV LEFT UP
JMP N
R: MOV -1 RIGHT
JMP L
P: MOV ACC DOWN
JMP N

@5
MOV 2 ACC
L: MOV ACC LEFT
JRO LEFT
JRO UP
MOV ACC RIGHT
MOV UP RIGHT
MOV RIGHT UP
MOV RIGHT ACC
JMP L
MOV ACC DOWN
JMP L
MOV ACC DOWN
MOV 0 DOWN

@6
L: MOV LEFT ACC
SAV
SUB LEFT
JLZ N
MOV 5 LEFT
MOV 2 LEFT
JMP L
N: MOV 1 LEFT
SWP
ADD 1
MOV ACC LEFT
JMP L

@8
L: MOV ANY ACC
JLZ P
MOV ACC DOWN
JMP L
P: NEG
MOV ACC DOWN
MOV 0 DOWN

@9
MOV UP LEFT
