Source: https://webusers.imj-prg.fr/~nicolas.lerner/Z.ZZ-Exercices.corr.pdf