@0
MOV UP, ACC
ADD 1
MOV ACC, DOWN
MOV ACC, DOWN

@3
M: MOV RIGHT, ACC
JLZ P
JEZ X
N: MOV UP, DOWN
SUB 1
JGZ N
JMP X
P: MOV DOWN, UP
ADD 1
JLZ P
X: MOV DOWN, ACC
ADD 1
MOV ACC, DOWN

@4
MOV 16, ACC
D: SUB 1
JGZ D
L: SUB UP
MOV ACC, LEFT
MOV UP, ACC
JGZ L
MOV 1, LEFT
MOV 0, DOWN

@7
MOV -1, LEFT
MOV 11, ACC
I: MOV 0, LEFT
SUB 1
JGZ I
MOV UP, NIL
MOV LEFT, NIL
Q: MOV LEFT, ACC
JLZ E
MOV ACC, RIGHT
F: MOV RIGHT, ACC
JLZ Q
MOV ACC, DOWN
JMP F
E: MOV ACC, DOWN

@8
L: MOV LEFT, ACC
JEZ N
O: SWP
MOV ACC, LEFT
SWP
SUB 1
JGZ O
N: SWP
ADD 1
SWP
MOV -2, LEFT
