Source: http://mathadoc.sesamath.net/Documents/mp/cap/cappyth/A2_pyt.PDF