random walk vs prng enigma quicksort knight's tour test_generators.py