Source: https://www.imo.universite-paris-saclay.fr/~janon/cpm/ExCPM_2.pdf