@1
L: MOV UP, ACC
JNZ N
MOV 0, DOWN
MOV 0, RIGHT
MOV 0, DOWN
MOV 0, RIGHT
MOV DOWN, NIL
JMP L
N: MOV ACC, DOWN
MOV 1, DOWN
MOV ACC, RIGHT
MOV ACC, RIGHT

@2
I: MOV 999, ACC
L: SAV
SUB LEFT
JGZ U
ADD LEFT
JMP L
U: MOV LEFT, ACC
JNZ L
SWP
MOV ACC, DOWN

@3
MOV 0, ACC
MOV 0, RIGHT
L: ADD UP
SAV
MOV UP, ACC
JEZ E
SWP
MOV 1, RIGHT
JMP L
E: SWP
NEG
MOV ACC, DOWN
MOV DOWN, UP

@4
MOV RIGHT, ACC
MOV ACC, RIGHT
MOV ACC, RIGHT
MOV ACC, RIGHT
MOV ACC, RIGHT

@5
L: MOV UP, ACC
MOV 1, RIGHT
MOV RIGHT, LEFT
MOV 1, UP
ADD LEFT
ADD LEFT
ADD 6
ADD LEFT
ADD LEFT
ADD RIGHT
MOV ACC, DOWN

@6
L: MOV LEFT, NIL
MOV UP, ACC
SAV
MOV ACC, LEFT
MOV UP, NIL
MOV UP, NIL
MOV UP, NIL
MOV UP, ACC
JEZ O
MOV UP, NIL
SWP
ADD 4
O: MOV ACC, LEFT
