@0
L: MOV RIGHT, ACC
JEZ E
SWP
SUB RIGHT
SAV
JMP L
E: MOV RIGHT, NIL
SWP
MOV ACC, DOWN

@1
L: MOV UP, ACC
MOV ACC, LEFT
MOV ACC, RIGHT
MOV ACC, LEFT
MOV ACC, RIGHT
MOV ACC, DOWN
MOV ACC, RIGHT

@2
L: MOV LEFT, ACC
JEZ E
SWP
SUB LEFT
JLZ N
ADD LEFT
SWP
JMP L
N: MOV LEFT, NIL
JMP L
E: MOV LEFT, NIL
MOV LEFT, NIL
SWP
MOV ACC, DOWN

@3
L: MOV UP, ACC
JEZ E
SWP
ADD 1
SWP
JMP L
E: SWP
MOV ACC, DOWN
MOV LEFT, ACC
MOV ACC, DOWN

@5
H: MOV UP, ACC
ADD 1
MOV ACC, RIGHT
SAV
MOV UP, ACC
SWP
L: SWP
ADD RIGHT
SWP
SUB 1
JGZ L
SWP
MOV ACC, DOWN

@6
MOV UP, ACC
SAV
MOV LEFT, ACC
S: SWP
MOV ACC, LEFT
SUB 1
SWP
SUB 1
JGZ S
