Source: https://www.kiteb.net/education/informatique/bac/bacinfo2014/bac-pratique-27052014-sc-corrige8.pdf