Not all functions behave the same way when faced with the questions “how many inputs end up on the same value?” and “are all the values of the codomain reached?”. The answers define three fundamental properties — injectivity, surjectivity and bijectivity — which can be read at a glance on the graph with the horizontal line test.