Source: https://www.math.u-bordeaux.fr/~arichou/exercices-f1.pdf