import java.util.*;


public class Solution {

    public static String[] generatePermutation(String str) {

        Set<String> result = new HashSet<>();
        f(str.toCharArray(), 0, "", result);

        return result.toArray(new String[] {});
    }


    public static void f(char[] str, int i, String path, Set<String> ans) {
        if (str.length == i) {
            ans.add(path);
            return;
        }


        f(str, i + 1, path, ans);
        f(str, i + 1, path + str[i], ans);
    }
}