@0
S:MOV RIGHT ACC
MOV RIGHT NIL
L:SAV
SUB RIGHT
JGZ U
ADD RIGHT
JMP L
U:MOV RIGHT ACC
JNZ L
SWP
MOV ACC DOWN

@1
MOV UP ACC
MOV ACC LEFT
MOV ACC LEFT
MOV ACC DOWN

@3
S:MOV UP RIGHT
L:MOV UP ACC
JEZ E
ADD RIGHT
MOV ACC RIGHT
JMP L
E:MOV RIGHT DOWN

@4
S:MOV UP ACC
L:MOV ACC RIGHT
ADD RIGHT
JGZ L

@5
MOV UP ACC
NEG
L:ADD LEFT
JGZ O
MOV 1 LEFT
JMP L
O:MOV -999 LEFT
MOV ACC DOWN
