Inspired by
User123's
Shuffle