Source: https://www.math.u-bordeaux.fr/~hecohen/premiers.pdf