@1
T: MOV UP, ACC
JEZ S
MOV ACC, DOWN
JMP T
S: MOV 999, DOWN

@2
MOV UP, DOWN

@3
F: MOV UP, ACC
SAV
L: SUB RIGHT
JGZ BW
JLZ ST
MOV -1, RIGHT
JMP F
BW: MOV -1, RIGHT
SWP
SAV
JMP L
ST: SWP
MOV ACC, RIGHT
MOV ACC, DOWN

@4
F: MOV RIGHT, ACC
SAV
L: MOV ACC, LEFT
MOV LEFT, ACC
JLZ O
SWP
SAV
JMP L
O: SWP
MOV ACC, DOWN

@5
T: MOV UP, ACC
JEZ S
MOV ACC, LEFT
JMP T
S: MOV 999, LEFT

@7
MOV UP, RIGHT

@8
MOV ANY, ACC
ADD -999
JEZ Z
ADD 999
Z: MOV ACC, DOWN
