@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 0 RIGHT
L:MOV UP ACC
JEZ E
NEG
ADD RIGHT
MOV ACC RIGHT
JMP L
E:MOV RIGHT DOWN

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

@5
MOV UP ACC
L:ADD LEFT
JGZ A
ADD LEFT
JGZ B
MOV 1 LEFT
JMP L
A:MOV LEFT NIL
B:MOV -999 LEFT
MOV ACC DOWN
