Source: http://www.up2.fr/M1/td/Corrig%C3%A9_TD1.pdf