Source: http://iut.univ-lemans.fr/ydlogi/cours/exercices_rdm.pdf