Source: https://hpac.cs.umu.se/teaching/lsc-12/lect2-Lucas.pdf