#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;


//class Solution {
//public:

vector<vector<int> > permute(vector<int>& num) {
    sort(num.begin(), num.end());
    vector<vector<int>> res;
    do {
        res.push_back(num);
    } while (next_permutation(num.begin(), num.end()));
    res.erase(unique(res.begin(), res.end()),res.end());
    return res;
}

int main() {
    int n;
    cin >> n;
    vector<int> num;
    int temp;
    for (int i = 0; i < n; i++) {
        cin >> temp;
        num.push_back(temp);
    }
    vector<vector<int>> end = permute(num);
    for (int i = 0; i < end.size(); i++) {
        for (int j = 0; j < n; j++) {
            cout << end[i][j] << ',';
        }
        cout << ' ';
    }
    return 1;
    /*vector<int> num;
    int temp;
    while (cin >> temp) {
        num.push_back(temp);
        if (cin.get() == '\n')
            break;
    }
    vector<vector<int>> end = permute(num);
    int i = 0;
    while (!end.empty()) {
        for (int j = 0; j < end[i].size(); j++) {
            cout << end[i][j] << ',';
        }
        i++;
        cout << ' ';
    }
    return 1;*/
}
//};