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