@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: ADD 5
MOV ACC, DOWN
MOV LEFT, 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 1, DOWN
MOV LEFT, DOWN
MOV ANY, DOWN
MOV LAST, LEFT
MOV -29, ACC
L: MOV -1, DOWN
ADD 1
JNZ L

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

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