Source: https://www.kiteb.net/education/informatique/bac/bacinfo2010/bac-pratique-25052010-sc-corrige2.pdf