Inspired by
shuffles_by_c's
Shuffle