Definition a trail in a finite graph that visits every edge exactly once (allowing for revisiting vertices). References https://cp-algorithms.com/graph/euler_path.html