def runAllStates(seq):
	maxStep = seq.length ** (seq.last + 1)
	step = 0
	states = [seq.state]
	while step < maxStep and (step == 0 or seq.stateIndex):
		step += 1
		seq.nextState()
		states.append(seq.state)

	PzlUtil.drawSolution('states-{}-{}'.format(seq.last, seq.length), states)
	return
def solvePuzzle(name):
	print("""
		Solving puzzle: {}
		=======================
		""".format(name))
	
	puzzle = Pzl.getPuzzle(name)
	if not puzzle:
		print("Could not solve puzzle -- No puzzle found for name: '{}'".format(name))

	soln = puzzle.solve()
	if soln:
		print(soln)
		PzlUtil.drawSolution(name + "-solution", soln)
	else:
		print("""
			NO SOLUTION
			""")
	print("""
		==========================
		""")