#include <iostream>
#include <algorithm>
using namespace std;
void perm(char a[], int m, int n)
{
if(m + 1 == n)
{
cout << a << endl;
}
else
{
for (int k = m; k < n; ++k)
{
swap(a[m], a[k]);
perm(a, m + 1, n);
swap(a[m], a[k]);
}
}
}
int main()
{
cout << "input characters: ";
char *pch = new char[100];
int i = 0;
for (i = 0; i < 100; ++i)
{
char ch = getchar();
if (ch == 10)
{
pch[i] = '\0';
break;
}
pch[i] = ch;
}
cout << pch << endl;
perm(pch, 0, i);
return 0;
}