Factoradics-based shuffle algorithm