Source: https://cms.math.ca/Concours/CMO/examt/french70