Graph theory: necessary and sufficient conditions for the existence of an Eulerian walk/cycle