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

@4
MOV 999, ACC
L: SUB UP
JGZ NEW
ADD UP
JMP L
NEW: MOV UP, ACC
JLZ END
SAV
JMP L
END: SWP
NEG
MOV ACC, RIGHT
MOV RIGHT, ACC

@5
MOV -999, UP
M: MOV LEFT, ACC
MOV UP, RIGHT
L: SAV
ADD UP
JLZ DONE
MOV ACC, RIGHT
SWP
JMP L
DONE: MOV 0, LEFT
MOV -999, UP
D: MOV RIGHT, ACC
MOV ACC, DOWN
JLZ M
JMP D

@7
MOV UP, DOWN
