@0
MOV -2, ACC
A: ADD 2
MOV ACC, DOWN
SAV
SUB 8
JEZ Z
SWP
JMP A
Z: MOV 15, DOWN
MOV UP, NIL

@1
MOV 0, ACC
G: ADD 1
MOV 0, RIGHT
MOV ACC, RIGHT
MOV 29, RIGHT
MOV ACC, RIGHT
SUB 16
JEZ Z
ADD 16
JMP G
Z: MOV UP, NIL

@2
MOV 64, ACC
F: MOV LEFT, DOWN
SUB 1
JNZ F
MOV 2, ACC
G: ADD 1
MOV 2, DOWN
MOV ACC, DOWN
MOV 27, DOWN
MOV ACC, DOWN
SUB 14
JNZ R
MOV UP, NIL
R: ADD 14
JMP G

@4
MOV UP, ACC
SAV
NEG
ADD 15
MOV ACC, RIGHT
SWP
MOV ACC, RIGHT
MOV ACC, RIGHT
SWP
MOV ACC, RIGHT
SWP
MOV ACC, RIGHT
NEG
ADD 17
MOV ACC, RIGHT

@5
MOV LEFT, DOWN

@6
MOV 112, ACC
F: MOV UP, DOWN
SUB 1
JNZ F
MOV 4, ACC
G: ADD 1
MOV 4, DOWN
MOV ACC, DOWN
MOV 25, DOWN
MOV ACC, DOWN
SUB 12
JNZ R
MOV RIGHT, NIL
R: ADD 12
JMP G

@9
A: MOV UP, ACC
JEZ S
MOV UP, DOWN
MOV UP, DOWN
B: MOV 3, DOWN
MOV 3, DOWN
SUB 1
JNZ B
MOV -1, DOWN
JMP A
S: MOV RIGHT, DOWN
MOV RIGHT, DOWN
MOV 3, DOWN
MOV -1, DOWN
JMP S

@10
MOV 144, ACC
F: MOV UP, LEFT
SUB 1
JNZ F
MOV 6, ACC
G: ADD 1
MOV 6, LEFT
MOV ACC, LEFT
MOV 23, LEFT
MOV ACC, LEFT
SUB 10
JNZ R
MOV RIGHT, NIL
R: ADD 10
JMP G
