Source: https://elearn.univ-oran1.dz/pluginfile.php/54416/course/overviewfiles/TP2 .pdf?forcedownload=1