Source: https://irem.univ-reunion.fr/IMG/pdf/2.5_progression1stmg_irem.pdf