Source: https://www.cs.uoi.gr/~zarras/papers/C38.pdf