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

@3
MOV 999, ACC
L: SUB RIGHT
JGZ N
ADD RIGHT
JMP L
N: MOV RIGHT, ACC
JLZ E
SAV
JMP L
E: SWP
NEG
MOV ACC, RIGHT

@4
L: MOV UP, ACC
MOV ACC, LEFT
MOV ACC, LEFT
JLZ E
JMP L
E: MOV LEFT, RIGHT
MOV RIGHT, NIL

@5
MOV -1, UP
S: MOV LEFT, ACC
MOV UP, RIGHT
T: SAV
ADD UP
JLZ D
MOV ACC, RIGHT
SWP
JMP T
D: MOV ACC, LEFT
MOV ACC, UP
P: MOV RIGHT, ACC
MOV ACC, DOWN
JLZ S
JMP P

@7
MOV UP, DOWN
