@0
MOV 999 ACC
L:SAV
SUB RIGHT
JGZ N
MOV RIGHT NIL
SWP
C:MOV -4 DOWN
JMP L
N:MOV RIGHT ACC
JNZ C
SWP
MOV 1 DOWN
MOV ACC DOWN

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

@3
L:ADD UP
SWP
ADD 1
SWP
JRO LEFT
MOV LEFT DOWN
MOV ACC DOWN
SWP
MOV ACC DOWN
MOV 0 ACC
SAV

@4
I:MOV RIGHT ACC
G:MOV ACC RIGHT
ADD 1
JRO RIGHT
JMP I
JMP G

@5
MOV UP LEFT
MOV UP ACC
NEG
MOV UP RIGHT
G:ADD LEFT
MOV RIGHT LEFT
JRO RIGHT
MOV ACC DOWN

@6
MOV LEFT ACC
JMP G
C:MOV -2 LEFT
G:MOV ACC LEFT
SUB 1
JGZ C
MOV 1 LEFT
