Source: https://www.irif.fr/~asarin/P7/Java/QCMcorrige.pdf