@1
A:MOV UP ACC
N:SAV
MOV ACC DOWN
MOV -1 ACC
L:ADD 1
JRO DOWN
SWP
JMP N
JEZ T
MOV -4 DOWN
ADD 1
JMP N
T:MOV 1 DOWN
JMP A

@4
A:JRO DOWN
MOV UP ACC
L:SUB DOWN
JGZ P
JEZ S
MOV 1 UP
MOV -5 DOWN
JMP A
P:MOV -1 UP
MOV -1 DOWN
JMP L
T:MOV UP DOWN
S:MOV 3 UP
MOV 1 DOWN
MOV UP DOWN

@7
A:MOV RIGHT ACC
SUB 31
JEZ T
ADD 29
JEZ F
ADD 1
F:ADD 3
MOV ACC RIGHT
JMP A
T:MOV 0 RIGHT

@8
A:MOV 0 ACC
I:MOV ACC LEFT
MOV LEFT ACC
JEZ T
N:MOV 1 UP
L:MOV ACC UP
R:JRO UP
MOV ACC DOWN
JRO UP
MOV 0 DOWN
JMP A
T:MOV 11 UP
MOV UP ACC
JMP R
