Hamiltonian path problem