injective vs surjective function