Check out
Massimo Edgeworth’s
Shuffle