#include
#include
using namespace std;
int element_number;
vector default_seq;
int seq_number = 0;
bool FindSame(vector seq,int begin,int end) {
for (int i = begin; i < end; ++i) {
if (seq[i] == seq[end]) {
return true;
}
}
return false;
}
void Perm(vector seq, int current_number) {
if (current_number == element_number) {
for (int i = 0; i < element_number; ++i) {
cout << (char)seq[i];
}
cout << endl;
seq_number ++;
}
else {
for (int i = current_number; i < seq.size(); ++i) {
if (FindSame(seq, current_number, i))//判断第i个元素是否在list[k,i-1]中出现过
continue;
swap(seq[current_number], seq[i]);
Perm(seq, current_number + 1);
swap(seq[current_number], seq[i]);
}
}
}
int main() {
cin >> element_number;
char ch;
default_seq = vector(element_number);
for(int i = 0; i < element_number; i++) {
cin >> ch;
default_seq[i] = ch;
}
Perm(default_seq, 0);
cout << seq_number << endl;
return 0;
}