@0
MOV 9, ACC
I: MOV 0, RIGHT
SUB 1
JNZ I
T: MOV UP, ACC
MOV ACC, DOWN
MOV ACC, DOWN
JMP T

@1
T: MOV DOWN, ACC
SUB 5
MOV ACC, LEFT
ADD 31
M: SUB 6
JGZ M
JNZ N
MOV LEFT, ACC
ADD 25
MOV ACC, LEFT
MOV -5, ACC
N: MOV LEFT, DOWN
ADD 5
MOV ACC, DOWN

@2
T: MOV UP, ACC
SWP
SUB UP
MOV ACC, RIGHT
SWP
MOV ACC, RIGHT
ADD RIGHT
SUB 2
SAV

@3
T: MOV LEFT, ACC
JGZ NG
PS: ADD 2
JGZ DN
MOV UP, DOWN
JMP PS
NG: MOV DOWN, UP
SUB 2
JGZ NG
ADD 2
DN: MOV ACC, RIGHT
MOV UP, RIGHT
MOV LEFT, RIGHT
MOV ACC, LEFT
MOV RIGHT, UP

@4
T: MOV LEFT, ACC
SUB 1
JEZ HI
MOV LEFT, RIGHT
JMP C
HI: MOV LEFT, UP
C: MOV LEFT, ACC
MOV ANY, LEFT
MOV ACC, DOWN
MOV LAST, DOWN

@5
T: MOV LEFT, ACC
ADD 6
SAV
ADD 16
M: SUB 5
JGZ M
ADD 4
JNZ N
SWP
SUB 30
SWP
N: SWP
MOV ACC, LEFT
SWP
MOV ACC, LEFT

@6
T: MOV -1, DOWN
MOV 0, DOWN
MOV UP, DOWN
MOV UP, ACC
L: MOV ACC, DOWN
MOV ACC, DOWN
MOV ACC, DOWN
MOV ACC, DOWN
MOV ACC, DOWN
MOV ACC, DOWN
MOV ACC, DOWN
MOV ACC, DOWN
MOV ACC, DOWN
MOV ACC, DOWN
JRO RIGHT

@7
MOV -10, LEFT
MOV -10, LEFT
MOV -14, LEFT
