Source: https://www.iro.umontreal.ca/~mignotte/IFT2425/Documents/formulairetrigo2.pdf