@0
MOV 12, ACC
C: JRO DOWN
SUB 1
JMP C
MOV ACC, DOWN

@1
MOV UP, ACC
MOV ACC, DOWN
MOV ACC, RIGHT

@3
MOV 999, ACC
L: MOV 1, UP
SUB RIGHT
JGZ N
ADD RIGHT
JMP L
N: MOV RIGHT, ACC
JLZ E
SAV
JMP L
E: MOV 3, UP
SWP
MOV ACC, RIGHT
MOV UP, RIGHT

@4
MOV RIGHT, NIL
L: MOV UP, ACC
MOV ACC, LEFT
MOV ACC, LEFT
JLZ E
MOV UP, ACC
MOV ACC, LEFT
MOV ACC, LEFT
JLZ E
JMP L
E: MOV LEFT, RIGHT
MOV LEFT, RIGHT

@5
MOV ACC, LEFT
MOV LEFT, DOWN
MOV UP, RIGHT
JRO LEFT
MOV UP, RIGHT
MOV UP, RIGHT
MOV UP, RIGHT
MOV UP, RIGHT
MOV UP, RIGHT
MOV UP, RIGHT
MOV UP, RIGHT
MOV UP, RIGHT
MOV UP, RIGHT
MOV UP, RIGHT
MOV ACC, DOWN

@7
S: MOV UP, ACC
NEG
MOV UP, RIGHT
L: ADD RIGHT
JLZ E
MOV ACC, DOWN
SUB RIGHT
JMP L
E: MOV -1, DOWN

@8
S: MOV LEFT, NIL
P: MOV UP, ACC
MOV ACC, LEFT
JLZ S
MOV ACC, LEFT
MOV UP, ACC
MOV ACC, LEFT
JLZ S
MOV ACC, LEFT
MOV UP, ACC
MOV ACC, LEFT
JLZ S
MOV ACC, LEFT
JMP P
