HORIZONTAL:
RANDOM
SOLVE
VERTICAL:
RANDOM
SOLVE