Source: https://www.i3s.unice.fr/~malapert/R/pdf/11-premiers.pdf