#include <string>
#include <vector>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param str string字符串 
     * @return string字符串vector
     */
    set<string> v;
    void fun(string s1,string s2)
    {

        for(int i=0;i<s2.size();i++)
        {
            
            if(s2.size()==1)
            {
                v.insert(s1+s2[i]);
                return ;
            }
            string s3=string(s2);
            fun(s1+s2[i],s3.erase(i,1));
        }
    }
    vector<string> Permutation(string str) {
        if(str.size()==1)
        {
            v.insert(str);
        }
        for(int i=0;i<str.size();i++)
        {
            string s="";
            s+=str[i];
            string new_s=string(str);
            fun(s,new_s.erase(i,1));
        }
        vector<string> v1;
        for(const auto & it1 : v)
        {
            v1.push_back(it1);
        }
        return v1;
    }
};