public static void Main()
private static void Permutation(string str, string prefix){
System.Console.WriteLine($"\n\n>>> string str={str}, string prefix={prefix}<<<<\n");
System.Console.WriteLine($"RESULT:{prefix}\n\n");
for (int i=0; i < str.Length; i++){
Console.WriteLine($"__ PERM __: str.Substring(0,{i}):'{str.Substring(0,i)}' + str.Substring({i} + 1)='{str.Substring(i + 1)}';");
string perm = str.Substring(0,i) + str.Substring(i + 1);
Console.WriteLine($"__ PERM __: {perm};");
System.Console.WriteLine($"prefix='{prefix}' + str[{i}]='{str[i]}'");
System.Console.WriteLine($"__ PREFIX __='{prefix + str[i]}'");
Permutation(perm, prefix + str[i]);