@1
MOV UP, DOWN

@2
MOV UP, DOWN

@4
S: MOV UP, ACC
L: SUB RIGHT
JLZ A
MOV 1, DOWN
SUB RIGHT
JLZ B
MOV 1, DOWN
MOV 1, RIGHT
JMP L
A: ADD RIGHT
MOV 0, RIGHT
JMP T
B: MOV -1, RIGHT
ADD RIGHT
T: MOV ACC, RIGHT

@5
S: MOV UP, ACC
SAV
L: SWP
MOV ACC, LEFT
MOV ACC, LEFT
SWP
MOV LEFT, ACC
JGZ L
JEZ Z
SWP
MOV ACC, LEFT
Z: MOV LEFT, ACC
MOV ACC, DOWN
JMP S

@7
L: ADD ANY
JGZ L
ADD 999
MOV ACC, DOWN
MOV 0, ACC
JMP L

@8
S: MOV UP, ACC
MOV -999, LEFT
MOV ACC, DOWN
JMP S
