Source: https://ienaurillac2.fr/IMG/pdf/problemes_ce_niveau_1.pdf