@0
MOV UP, ACC
MOV ACC, RIGHT
MOV ACC, DOWN

@1
S: SWP
MOV LEFT, ACC
JEZ NL
SWP
SUB 30
JEZ W
ADD 30
JMP C
W: MOV -1, DOWN
C: MOV ACC, DOWN
ADD 3
JMP S
NL: MOV -1, DOWN

@3
S: MOV UP, ACC
JEZ S
SUB 3
JEZ Z
MOV 3, RIGHT
JMP D
Z: MOV ACC, RIGHT
D: MOV ACC, RIGHT

@4
S: MOV UP, ACC
JLZ NL
MOV ACC, DOWN
MOV LEFT, DOWN
MOV LEFT, ACC
MOV ACC, RIGHT
JMP S
NL: MOV ACC, DOWN

@5
MOV LEFT, DOWN

@6
ADD 1
S: ADD RIGHT
SUB 100
JLZ C
JMP S
C: ADD 100
MOV ACC, RIGHT
ADD 1
MOV ACC, RIGHT
JMP S

@7
S: MOV UP, ACC
JLZ NL
MOV ACC, DOWN
MOV -1, LEFT
MOV LEFT, DOWN
MOV UP, DOWN
MOV RIGHT, DOWN
MOV -1, DOWN
MOV ACC, DOWN
MOV LEFT, DOWN
MOV RIGHT, DOWN
MOV RIGHT, DOWN
MOV -1, DOWN
JMP S
NL: MOV 103, LEFT

@8
S: MOV UP, ACC
JLZ ZT
MOV 3, LEFT
JMP B
ZT: MOV 0, LEFT
B: ADD 1
JEZ ZB
MOV 3, LEFT
MOV 0, LEFT
JMP S
ZB: MOV ACC, LEFT
MOV 3, LEFT
