Source: http://cedric.cnam.fr/~bentzc/INITREC/Files/CP7.pdf