@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
MOV UP RIGHT
MOV RIGHT ACC
ADD ACC
ADD ACC
ADD ACC
MOV ACC RIGHT
MOV UP RIGHT
MOV RIGHT ACC
ADD ACC
ADD ACC
ADD ACC
MOV ACC RIGHT
MOV UP RIGHT

@8
MOV LEFT ACC
MOV ACC LEFT
ADD ACC
ADD LEFT
ADD LEFT
MOV ACC LEFT
ADD ACC
ADD LEFT
ADD LEFT
MOV ACC DOWN
