Source: https://www.math.univ-paris13.fr/~japhet/MACS1/2020/TD6_corrige.pdf