Source: http://circo89-avallon.ac-dijon.fr/IMG/pdf/Traces_cour_cycles1et2-2.pdf