#include <iostream>
#include <list>
#include<algorithm>
using namespace std;
int total=0;
void perm(char a[],int k,int m){
if(k==m){
total++;
for(int i=0;i<m;i++)
cout<<a[i]<<" ";
cout<<endl;
}else{
list<char> used;
for(int i=k;i<m;i++){
bool flag=false;
list<char>::iterator pos=find(used.begin(),used.end(),a[i]);
if(pos!=used.end())
flag=true;
if(!flag){
used.push_back(a[i]);
swap(a[k],a[i]);
perm(a,k+1,m);
swap(a[k],a[i]);
}
}
}
}
int main(){
char a[]={'a','a','c'};
perm(a,0,3);
cout<<total<<endl;
system("pause");
return 0;
}