@0
MOV RIGHT ACC
SAV
MOV RIGHT ACC
L: SWP
ADD 1
SWP
SUB 100
JGZ L
SWP
MOV ACC RIGHT

@1
MOV RIGHT LEFT
MOV RIGHT LEFT
MOV UP DOWN
MOV LEFT DOWN

@2
MOV UP ACC
SUB 499
JGZ H
ADD 500
MOV -1 LEFT
JMP B
H: MOV 4 LEFT
B: MOV ACC LEFT
L: SUB 100
JGZ L
ADD 100
MOV ACC DOWN

@4
S: JRO UP
JMP H
JMP T
MOV UP NIL
MOV RIGHT NIL
MOV RIGHT DOWN
JMP S
H: MOV UP DOWN
MOV RIGHT NIL
MOV RIGHT NIL
JMP S
T: MOV UP NIL
MOV RIGHT DOWN
MOV RIGHT NIL
JMP S

@5
MOV UP ACC
SUB 50
JGZ L
ADD 50
MOV 3 RIGHT
L: MOV 1 RIGHT
SUB 10
JGZ L
ADD 9
MOV 5 RIGHT
MOV RIGHT LEFT
MOV ACC LEFT

@6
MOV 4 ACC
L: JRO LEFT
ADD 1
JMP L
SUB 5
JMP L
MOV ACC LEFT

@7
S: MOV UP RIGHT
MOV RIGHT ACC
JLZ S
ADD ACC
ADD ACC
ADD ACC
MOV ACC RIGHT
JMP S

@8
MOV LEFT ACC
MOV ACC LEFT
ADD ACC
ADD LEFT
ADD LEFT
MOV ACC LEFT
ADD ACC
ADD LEFT
ADD LEFT
MOV -1 LEFT
MOV ACC DOWN
