@0
MOV UP, DOWN

@3
L: MOV UP, ACC
JEZ NL
MOV ACC, RIGHT
SWP
SUB 30
JEZ WR
ADD 30
GL: MOV ACC, DOWN
ADD 3
SAV
JMP L
WR: MOV -1, DOWN
JMP GL
NL: MOV -1, DOWN
SAV

@4
L: MOV LEFT, ACC
MOV ACC, RIGHT
SUB 3
JEZ V3
JLZ V0
MOV 3, DOWN
MOV 3, DOWN
JMP L
V3: MOV 0, DOWN
MOV 3, DOWN
JMP L
V0: MOV 3, DOWN
MOV 0, DOWN

@5
MOV LEFT, DOWN

@6
L: MOV UP, ACC
JLZ ADV
MOV ACC, RIGHT
SWP
MOV ACC, RIGHT
ADD 1
MOV ACC, RIGHT
SUB 1
SWP
MOV ACC, RIGHT
JMP L
ADV: SWP
ADD 3
SAV

@7
MOV LEFT, DOWN
MOV LEFT, DOWN
MOV LEFT, ACC
MOV UP, DOWN
MOV UP, DOWN
MOV -1, DOWN
MOV LEFT, DOWN
MOV ACC, DOWN
MOV RIGHT, DOWN
MOV RIGHT, DOWN
MOV -1, DOWN

@8
L: MOV UP, ACC
SUB 2
JEZ V2
MOV 3, LEFT
MOV 0, LEFT
JMP L
V2: MOV 0, LEFT
MOV 3, LEFT
