#include <iostream>
#include <vector>
#include <algorithm>
using std::cout;
using std::endl;
using std::vector;
int main()
{
vector<char> vec;
for (int i = 0; i < 4; i++)
vec.push_back('a' + i);
do {
for (int i = 0; i < vec.size(); i++)
cout << vec[i];
cout << endl;
} while (next_permutation(vec.begin(), vec.end()));
cout << endl;
return 0;
}
/*
run:
abcd
abdc
acbd
acdb
adbc
adcb
bacd
badc
bcad
bcda
bdac
bdca
cabd
cadb
cbad
cbda
cdab
cdba
dabc
dacb
dbac
dbca
dcab
dcba
*/