Source: https://www.lifl.fr/~jdelahay/pls/227.pdf