@0
MOV UP ACC
MOV ACC RIGHT
MOV ACC DOWN
MOV RIGHT ACC
SAV
ADD ACC
ADD ACC
L: MOV ACC DOWN
JRO DOWN
MOV ACC DOWN
SWP
F: MOV ACC DOWN
JRO DOWN
MOV ACC DOWN
MOV ACC DOWN

@1
MOV UP ACC
MOV LEFT DOWN
MOV ACC LEFT
NEG
ADD 11
SAV
ADD ACC
ADD ACC
L: MOV ACC DOWN
JRO DOWN
MOV ACC DOWN
SWP
MOV ACC DOWN

@2
MOV UP ACC
MOV ACC DOWN
JMP L
C: MOV -1 UP
L: SUB UP
JGZ C
MOV 1 UP
JRO DOWN
ADD UP
JMP L
MOV ACC DOWN
ADD ACC
ADD UP
MOV ACC DOWN
MOV UP DOWN

@3
MOV UP ACC
NEG
JMP L
C: MOV -1 UP
L: ADD UP
JLZ C
MOV 1 UP
SUB UP
MOV ACC DOWN
MOV UP ACC
F: JRO DOWN
MOV ACC DOWN
JMP F
MOV ACC DOWN
MOV ACC DOWN

@5
S: MOV UP ACC
MOV ACC RIGHT
MOV 1 UP
MOV 3 UP
SUB UP
SAV
MOV UP ACC
JGZ U
SWP
SUB UP
MOV ACC DOWN
JMP S
U: SWP
MOV UP NIL
MOV ACC DOWN

@6
MOV LEFT ACC
SAV
MOV UP RIGHT
L: MOV RIGHT ACC
MOV ACC UP
JRO ACC
MOV UP RIGHT
JMP L
D: MOV UP RIGHT
MOV UP RIGHT
SWP
ADD RIGHT
MOV ACC DOWN

@7
MOV LEFT ACC
C: MOV 1 LEFT
L: ADD LEFT
JLZ C
MOV 3 LEFT
SAV
ADD ACC
SUB LEFT
JLZ U
SWP
SUB LEFT
JMP O
U: SWP
MOV LEFT NIL
O: MOV ACC LEFT
