@1
S: MOV -1, RIGHT
L: MOV UP, ACC
MOV ACC, DOWN
MOV ACC, DOWN
JLZ W
MOV ACC, RIGHT
MOV UP, ACC
MOV ACC, DOWN
MOV ACC, DOWN
JLZ W
MOV ACC, RIGHT
JMP L
W: MOV DOWN, NIL

@4
S: MOV 999, ACC
L: SAV
SUB UP
JGZ N
ADD UP
JMP L
N: MOV UP, ACC
JLZ E
JMP L
E: SWP
MOV ACC, RIGHT
MOV RIGHT, UP

@5
D: MOV LEFT, DOWN
MOV -1, RIGHT
P: MOV UP, ACC
JLZ G
MOV ACC, RIGHT
MOV UP, ACC
JLZ G
MOV ACC, RIGHT
JMP P
G: MOV ACC, LEFT
Q: MOV RIGHT, ACC
MOV ACC, DOWN
JGZ Q
JEZ Q

@7
S: MOV UP, ACC
NEG
L: SAV
ADD UP
JLZ E
MOV ACC, DOWN
SWP
JMP L
E: MOV -1, DOWN
