@0


@1
L:MOV DOWN,ACC
SAV
R:MOV UP,ACC
JLZ E
MOV ACC,RIGHT
MOV ACC,RIGHT
SWP
SUB RIGHT
JGZ R
ADD RIGHT
SWP
MOV ACC,RIGHT
JMP R
E:SWP
MOV ACC,DOWN

@2


@3


@4
S:MOV RIGHT,UP
MOV UP,ACC
MOV -1,RIGHT
MOV ACC,RIGHT

@5
S:MOV 999,LEFT
MOV -1,UP
R:MOV LEFT,RIGHT
T:MOV UP,ACC
JLZ D
MOV ACC,RIGHT
JMP T
D:MOV LEFT,DOWN
MOV 999,LEFT
MOV -1,UP
O:MOV RIGHT,ACC
MOV ACC,DOWN
JLZ R
JMP O

@6


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

@8

