Source: https://apc.u-paris.fr/~creusot/Teaching/SNV/SuitesMarc.pdf