vector<vector<string>> partition(string s) {
vector<vector<string>> res;
vector<vector<string>> tmp;
string fir=s.substr(0,i);
tmp=merge(fir,partition(s.substr(i,n-i)));
res.insert(res.end(),tmp.begin(),tmp.end());
vector<vector<string>> merge(string a, vector<vector<string>>b)
vector<vector<string>> res;
for(int i=0;i<b.size();i++)
tmp.insert(tmp.end(),b[i].begin(),b[i].end());
if(s[i]!=s[n-i-1]) return false;