Source: https://www.univ-usto.dz/images/coursenligne/codrep_yd.pdf