find eulerian path algorithm