Source: https://www.kiteb.net/education/informatique/bac/bacinfo2011/bac-pratique-2425052011-sc-corrige1.pdf