@0
MOV 0, RIGHT
L: MOV UP, ACC
MOV ACC, RIGHT
JNZ L
MOV RIGHT, NIL
E: MOV RIGHT, ACC
MOV ACC, DOWN
JNZ E

@1
MOV UP, ACC
MOV ACC, DOWN
MOV ACC, DOWN

@2
A: MOV UP, ACC
JEZ T
MOV ACC, DOWN
JMP A
T: MOV ACC, RIGHT

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

@4
A: MOV UP, ACC
SWP
SUB UP
MOV ACC, LEFT
MOV LEFT, DOWN

@6
MOV UP, RIGHT

@7
MOV UP, DOWN
