Source: http://www.e3a-polytech.fr/wp-content/uploads/2019/12/Sujet-Informatique-18.pdf