Source: https://www.isical.ac.in/~arnabc/discrete/ordinalbook.pdf