Source: http://math.univ-lyon1.fr/~roblot/resources/masterpro_partiel_2007_correction.pdf