Source: http://deptinfo.cnam.fr/Enseignement/CycleA/APA/nfa032/docs/corriges-heritage-1.pdf