Source: https://www.math.u-bordeaux.fr/~smarques/cours/fondmathinfo/FMI-exos.pdf