Hamiltonian cycle problem