@0
L: MOV UP, ACC
JEZ D
MOV ACC, RIGHT
SWP
ADD 1
SWP
JMP L
D: SWP
MOV ACC, DOWN
F: MOV RIGHT, DOWN
SUB 1
JNZ F

@1
MOV UP, DOWN

@2
MOV UP, ACC
MOV ACC, DOWN
L: MOV UP, DOWN
SUB 1
JNZ L
MOV 1, RIGHT

@3
MOV LEFT, NIL
Q: MOV RIGHT, ACC
JEZ P
JGZ F
B: MOV UP, DOWN
ADD 1
JNZ B
JMP P
F: MOV DOWN, UP
SUB 1
JNZ F
P: MOV DOWN, ACC
MOV ACC, RIGHT
MOV ACC, DOWN
JMP Q

@4
L: MOV UP, ACC
MOV ACC, RIGHT
MOV RIGHT, ACC
MOV ACC, RIGHT
MOV RIGHT, LEFT
MOV LEFT, DOWN
JMP L

@5
L: MOV LEFT, ACC
MOV ACC, LEFT
SWP
NEG
ADD LEFT
MOV ACC, LEFT
JMP L

@6
MOV UP, ACC
L: MOV UP, RIGHT
SUB 1
JNZ L

@7
MOV UP, DOWN
