Source: https://www.kiteb.net/education/informatique/bac/bacinfo2017/bac-pratique-25052017-sc-corrige6.pdf