Source: http://www.math.lsa.umich.edu/~speyer/417/InjectiveSurjective.pdf