Source: https://www.solo.uqam.ca/cours/th3-OffreDemande.pdf