@1
MOV UP, ACC
MOV ACC, RIGHT
MOV ACC, DOWN

@2
L: MOV LEFT, ACC
JEZ END
SAV
SUB DOWN
JGZ UPD
MOV -1, DOWN
JMP L
END: MOV DOWN, ACC
MOV 0, DOWN
JMP L
UPD: SWP
MOV ACC, DOWN

@5
L: MOV UP, ACC
JEZ END
SAV
SUB DOWN
JLZ UPD
MOV -1, DOWN
JMP L
END: MOV DOWN, ACC
MOV 0, DOWN
JMP L
UPD: SWP
MOV ACC, DOWN

@6
L: SAV
MOV ACC, UP
MOV UP, ACC
JEZ END
JGZ L
SWP
JMP L
END: SWP
MOV ACC, DOWN
MOV -1, ACC

@8
MOV 999, ACC
L: SAV
MOV ACC, UP
MOV UP, ACC
JEZ END
JGZ L
SWP
JMP L
END: SWP
MOV ACC, DOWN

@9
MOV UP, DOWN
