@0


@1
R: MOV UP, ACC
SAV
L: SUB 2
JEZ D
JLZ N
JMP L
D: SWP
MOV ACC, RIGHT
MOV RIGHT, ACC
MOV 2, DOWN
SAV
JMP L
N: SWP
MOV ACC, DOWN
JMP R

@2
R: MOV LEFT, ACC
L: SUB 2
SWP
ADD 1
SWP
JEZ D
JMP L
D: SWP
MOV ACC, LEFT
JMP R

@3
R: MOV RIGHT, ACC
L: SUB 3
SWP
ADD 1
SWP
JEZ D
JMP L
D: SWP
MOV ACC, RIGHT
JMP R

@4
R: MOV UP, ACC
SAV
L: SUB 3
JEZ D
JLZ N
JMP L
D: SWP
MOV ACC, LEFT
MOV LEFT, ACC
MOV 3, RIGHT
SAV
JMP L
N: SWP
MOV ACC, RIGHT
JMP R

@5
R: MOV LEFT, ACC
SAV
L: SUB 5
JEZ D
JLZ N
JMP L
D: SWP
MOV ACC, RIGHT
MOV RIGHT, ACC
MOV 5, DOWN
SAV
JMP L
N: SWP
MOV ACC, DOWN
JMP R

@6
R: MOV LEFT, ACC
L: SUB 5
SWP
ADD 1
SWP
JEZ D
JMP L
D: SWP
MOV ACC, LEFT
JMP R

@7
R: MOV RIGHT, ACC
SAV
SUB 1
JEZ E
SUB 7
JLZ F
SWP
MOV ACC, RIGHT
MOV 0, RIGHT
JMP R
E: MOV 0, RIGHT
JMP R
F: SWP
MOV ACC, RIGHT
JMP R

@8
R: MOV RIGHT, ACC
SAV
MOV ACC, LEFT
MOV LEFT, ACC
MOV ACC, DOWN
SWP
SUB 8
JLZ R
MOV LEFT, ACC
MOV ACC, DOWN
JMP R

@9
R: MOV UP, ACC
SAV
L: SUB 7
JEZ D
JLZ N
JMP L
D: SWP
MOV ACC, RIGHT
MOV RIGHT, ACC
MOV 7, LEFT
SAV
JMP L
N: SWP
MOV ACC, LEFT
JMP R

@10
R: MOV LEFT, ACC
L: SUB 7
SWP
ADD 1
SWP
JEZ D
JMP L
D: SWP
MOV ACC, LEFT
JMP R
