https://llego.dev/posts/how-generate-all-possible-permutations-string-python/