@1
MOV UP, ACC
JNZ N
MOV 999, ACC
N: MOV ACC, DOWN

@2
MOV UP, ACC
JNZ N
MOV 999, ACC
N: NEG
MOV ACC, DOWN

@3
MOV UP, RIGHT

@4
R: MOV LEFT, ACC
C: SAV
ADD RIGHT
JGZ B
SWP
MOV ACC, DOWN
MOV DOWN, RIGHT
JMP R
B: MOV 1, RIGHT
SWP
JMP C

@5
R: MOV UP, ACC
C: MOV ACC, LEFT
JRO LEFT
MOV ACC, DOWN

@8
L: MOV ANY, ACC
JLZ B
SUB 999
JEZ Z
MOV -1, UP
ADD 999
JMP O
B: NEG
JMP O
Z: MOV -2, UP
O: MOV ACC, DOWN
