Source: https://www.lirmm.fr/~nouet/homepage/pdf_files/SEA3-LN1.pdf