Source: https://www.alloschool.com/assets/documents/course-138/devoir-3-si-2-bac-stm-tri-de-caisse.pdf