Source: https://www.ics.uci.edu/~jutts/8/SampleMT1MCKey.pdf