Source: https://www.cril.univ-artois.fr/~benferhat/efficace_gd_nbres_partie2.pdf