@0
MOV UP, DOWN

@3
MOV RIGHT, ACC
JLZ RST
MOV 0, UP
L1: JEZ INC
MOV DOWN, UP
SUB 1
JMP L1
INC: MOV DOWN, ACC
ADD 8
L2: MOV ACC, DOWN
MOV UP, ACC
JNZ L2
RST:

@4
O: JRO DOWN
ADD 1
JMP O
IN: MOV UP, ACC
MOV ACC, LEFT
JGZ IN
JEZ IN
ADD 1
MOV ACC, DOWN

@7
MOV 0, LEFT
MOV 10, ACC
I: MOV 1, LEFT
SUB 1
JNZ I
MOV 3, UP
MOV UP, NIL
N: MOV LEFT, ACC
JEZ E
L: MOV ACC, UP
SUB 8
JLZ N
MOV UP, DOWN
JMP L
E: MOV -1, DOWN
