Source: http://users.polytech.unice.fr/~bond/Math_Discr/MD1Cor_P2.pdf