Source: https://icfp.51.pagesperso-orange.fr/docmaths/droites.pdf