@1
S: MOV UP, ACC
T: SAV
L: SUB DOWN
MOV -2, DOWN
JGZ L
MOV DOWN, NIL
JLZ N
MOV 1, DOWN
MOV DOWN, ACC
JMP T
N: MOV 5, DOWN
SWP
JRO DOWN
JMP T
MOV ACC, DOWN

@4
S: MOV 2, ACC
L: MOV ACC, UP
MOV -1, RIGHT
JRO UP
MOV ACC, DOWN
MOV 2, RIGHT
MOV RIGHT, UP
JMP L
N: MOV 5, RIGHT
MOV ACC, RIGHT
MOV RIGHT, UP
JRO RIGHT
ADD 1
JMP L
MOV UP, RIGHT

@5
MOV -2, ACC
ADD 1
L: JRO LEFT
D: MOV ACC, LEFT
C: MOV ACC, LEFT
Z: MOV -1, ACC
JMP L
N: SUB LEFT
JGZ X
MOV 2, LEFT
MOV 3, LEFT
MOV LEFT, DOWN
JMP Z
X: MOV 1, ACC
JMP D

@8
MOV ANY, DOWN

@9
MOV UP, ACC
SUB 1
JEZ Z
ADD 1
MOV ACC, LEFT
Z: MOV 0, LEFT
