Source: https://courses.engr.illinois.edu/cs173/sp2011/lectures/functions-one-to-one.pdf