Source: https://perso.liris.cnrs.fr/nicolas.pronost/UCBL/LIFAP3/exam/LIFAP3_2021_ECA.pdf