@0
MOV UP, ACC
MOV ACC, RIGHT
MOV ACC, DOWN

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

@2
L: SWP
SUB 1
SWP
MOV UP, ACC
JNZ L
SWP
MOV ACC, RIGHT

@3
MOV LEFT, RIGHT
Q: MOV RIGHT, ACC
JLZ U
D: SUB 1
JLZ F
MOV DOWN, UP
JMP D
U: ADD 1
JEZ G
MOV UP, DOWN
JMP U
G: MOV UP, RIGHT
JMP Q
F: MOV DOWN, RIGHT
JMP Q

@4
MOV LEFT, ACC
JMP A
L: MOV LEFT, DOWN
A: ADD UP
MOV ACC, LEFT
MOV UP, ACC
NEG
JMP L

@7
MOV UP, ACC
MOV ACC, LEFT
MOV ACC, DOWN
