Source: https://web.mat.upc.edu/fib/matematiques1/docs/pm1_graphs.pdf