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

@1
MOV 45, ACC
I: SUB 1
JGZ I
MOV LEFT, DOWN
L: MOV UP, ACC
MOV ACC, DOWN
MOV ACC, DOWN
JMP L

@3
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

@4
MOV UP, 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
