@0


@1
L: MOV UP, DOWN
MOV RIGHT, DOWN
JMP L

@2
MOV UP, LEFT

@3
L: MOV RIGHT, ACC
SAV
MOV 0, ACC
SWP
A: SUB 100
JLZ B
SWP
ADD 1
SWP
JMP A
B: SWP
MOV ACC, RIGHT
JMP L

@4
L: MOV UP, ACC
SUB 2
JEZ P2
JLZ P1
MOV UP, DOWN
JMP L
P1: MOV UP, LEFT
MOV LEFT, DOWN
JMP L
P2: MOV UP, RIGHT
MOV RIGHT, DOWN
JMP L

@5
L: MOV LEFT, ACC
A: SUB 100
JGZ A
JLZ B
JMP C
B: ADD 100
C: MOV 1, RIGHT
SUB 10
JGZ C
JEZ Z
MOV -999, RIGHT
JMP D
Z: MOV -998, RIGHT
D: MOV RIGHT, LEFT
JMP L

@6
L: MOV 0, ACC
A: ADD LEFT
JGZ A
ADD 998
MOV ACC, LEFT
JMP L

@7
L: MOV UP, ACC
A: SUB 100
JGZ A
JLZ B
JMP C
B: ADD 100
C: SUB 10
JGZ C
JLZ D
JMP E
D: ADD 10
E: MOV ACC, RIGHT
JMP L

@8
L: MOV LEFT, ACC
ADD ACC
MOV ACC, RIGHT
ADD ACC
ADD ACC
ADD RIGHT
ADD LEFT
ADD ACC
MOV ACC, RIGHT
ADD ACC
ADD ACC
ADD RIGHT
ADD LEFT
MOV ACC, DOWN
JMP L

@9
L: MOV LEFT, ACC
MOV ACC, LEFT
JMP L
