@0
MOV 9, ACC
I: MOV 0, LEFT
SUB 1
JNZ I
MOV -1, LEFT
L: MOV UP, ACC
MOV ACC, DOWN
MOV ACC, DOWN
JMP L

@2
L: MOV RIGHT, ACC
JRO ACC
MOV -1, RIGHT
MOV -1, RIGHT
MOV -1, RIGHT
MOV -1, RIGHT
MOV -1, RIGHT
MOV -1, RIGHT
MOV -1, RIGHT
MOV -1, RIGHT
MOV -1, RIGHT
MOV 1, RIGHT
MOV 1, DOWN
JMP L

@3
S: MOV RIGHT, ACC
JGZ P
ADD 11
MOV ACC, LEFT
SUB 11
JEZ S
N: MOV UP, DOWN
JRO LEFT
JMP S
P: SUB 11
NEG
MOV ACC, LEFT
Q: MOV DOWN, UP
JRO LEFT
JMP S

@4
MOV -10, LEFT
L: NEG
ADD UP
MOV ACC, LEFT
MOV UP, ACC
JGZ L
JEZ L
SUB 12
D: ADD 1
JLZ D
MOV ACC, DOWN

@6
MOV UP, ACC
ADD RIGHT
MOV ACC, RIGHT

@7
MOV -1, LEFT
MOV UP, NIL
S: MOV LEFT, ACC
JLZ E
JEZ N
M: SWP
MOV ACC, DOWN
SWP
SUB 1
JGZ M
N: SWP
ADD 1
SWP
JMP S
E: MOV ACC, DOWN
