Source: http://www-igm.univ-mlv.fr/~duris/NTREZO/20022003/ClientLeger.pdf