Source: http://blog.ac-versailles.fr/hcochard/public/PS5/corrige_dm7.pdf