@0
MOV 15, ACC
I: MOV 0, RIGHT
SUB 1
JGZ I
L: MOV UP, DOWN
JMP L

@1


@2
MOV UP, ACC
MOV ACC, RIGHT
SUB 3
MOV ACC, RIGHT

@3
E: MOV LEFT, RIGHT
MOV LEFT, ACC
JLZ E
SAV
L1: JEZ E1
MOV UP, DOWN
SUB 1
JMP L1
E1: MOV UP, RIGHT
MOV RIGHT, UP
SWP
L2: JEZ E
MOV DOWN, UP
SUB 1
JMP L2

@4
E: MOV LEFT, ACC
MOV ACC, DOWN
SUB 2
JGZ R3
MOV ACC, RIGHT
MOV RIGHT, DOWN
JMP E
R3: MOV LEFT, ACC
SUB 4
JEZ Z
ADD 5
Z: MOV ACC, LEFT
MOV ACC, DOWN

@5
E: MOV LEFT, ACC
JLZ D
SWP
SUB 4
JEZ Z
ADD 5
Z: MOV ACC, LEFT
SWP
JMP E
D: ADD 3
MOV ACC, DOWN
MOV DOWN, LEFT

@6
MOV 0, DOWN
MOV UP, DOWN
MOV UP, ACC
SAV
MOV 6, ACC
L: SWP
MOV ACC, DOWN
MOV ACC, DOWN
MOV ACC, DOWN
MOV ACC, DOWN
MOV ACC, DOWN
SWP
SUB 1
JGZ L
MOV -1, DOWN

@7
E: JRO UP
JMP A
SWP
SUB 4
JEZ Z1
ADD 5
Z1: MOV ACC, UP
SWP
JMP E
A: SUB 4
JEZ Z2
ADD 5
Z2: MOV ACC, UP
