@0
MOV RIGHT, ACC
S: SAV
MOV ACC, DOWN
MOV -1, ACC
L: ADD 1
JRO DOWN
SWP
JMP S
JEZ D
ADD 1
MOV 1, DOWN
JMP S
D: MOV 3, DOWN

@1
MOV UP, LEFT
MOV UP, RIGHT

@2
MOV LEFT, ACC
S: SAV
MOV ACC, DOWN
MOV -1, ACC
L: ADD 1
JRO DOWN
SWP
JMP S
JEZ D
ADD 1
MOV 1, DOWN
JMP S
D: MOV 3, DOWN

@3
T: MOV UP, ACC
JMP S
L: MOV -1, DOWN
MOV -1, UP
S: SUB DOWN
JGZ L
JEZ D
MOV 1, UP
MOV -5, DOWN
JMP T
D: MOV 3, UP
MOV UP, DOWN

@5
T: MOV UP, ACC
JMP S
L: MOV -1, DOWN
MOV -1, UP
S: SUB DOWN
JGZ L
JEZ D
MOV 1, UP
MOV -5, DOWN
JMP T
D: MOV 3, UP
MOV UP, DOWN

@7
L1: SUB 2
JNZ O
SUB 1
O: ADD 4
L2: MOV ACC, UP
JRO UP
MOV ACC, RIGHT
JMP L2
MOV ACC, RIGHT
MOV 0, RIGHT
SUB ACC

@8
L: MOV LEFT, ACC
MOV ACC, DOWN
JNZ L
R: MOV RIGHT, ACC
MOV ACC, DOWN
JNZ R

@9
L1: SUB 2
JNZ O
SUB 1
O: ADD 4
L2: MOV ACC, UP
JRO UP
MOV ACC, LEFT
JMP L2
MOV ACC, LEFT
MOV 0, LEFT
SUB ACC
