optimising eulerian path