#include<iostream>
using namespace std;
int x[100],pus[100],n,nr=0;
char s[100];
void Write()
{ for(int i=1;i<=n;i++) cout<<s[x[i]-1];
cout<<endl;
nr++;
}
void Perm(int k)
{ for(int i=1;i<=n;i++)
if(!pus[i])
{ x[k]=i;
pus[i]=1;
if(k==n) Write();
else Perm(k+1);
pus[i]=0;
}
}
int main()
{ cin>>s;
n=strlen(s);
Perm(1);
cout<<nr;
system("pause");
return 0;
}
|