Source: https://www.orleans-informatique.com/info/sio/exercices/TD N°1 - MERISE 2 - corrigé.pdf