Source: https://cse.iitkgp.ac.in/~somindu/pds/slides/04 - Loops.pdf