https://ideas.creativecasinoties.com/post/next-permutation-u7vvlt