@1
TOP: MOV 0, ACC
U: MOV ACC, DOWN
MOV ACC, DOWN
ADD 1
SAV
SUB 15
JEZ I
SWP
JMP U
I: MOV 14, ACC
D: MOV ACC, DOWN
MOV ACC, DOWN
SUB 1
JLZ TOP
JMP D

@3
MOV 0, ACC
U: MOV ACC, RIGHT
ADD 1
SAV
SUB 9
JEZ I
SWP
JMP U
I: MOV 8, ACC
D: MOV ACC, RIGHT
SUB 1
JGZ D
MOV 0, RIGHT

@4
MOV LEFT, ACC
SAV
MOV 30, ACC
L: SWP
MOV ACC, RIGHT
MOV ACC, RIGHT
SWP
SUB 1
JGZ L

@5
TOP: MOV UP, ACC
SUB LEFT
JGZ RY
MOV LEFT, NIL
MOV UP, ACC
JMP P_INIT
RY: MOV UP, NIL
MOV LEFT, ACC
P_INIT: ADD 2
P: SUB 2
JGZ P
JNZ ODD
MOV 3, DOWN
JMP TOP
ODD: MOV 0, DOWN

@9
MOV 0, DOWN
MOV ACC, DOWN
ADD 1
SAV
MOV 30, ACC
L: MOV UP, DOWN
SUB 1
JGZ L
MOV -1, DOWN
SWP
