#include <iostream>
#include <sstream>
#include <map>
#include <vector>
#include <string>
#include <functional>
#include <algorithm>
using namespace std;

vector<int> insertion_sort(const string &input)
{
	vector<int> numbers;
	int num;
	istringstream iss(input);
	while (iss >> num)
	{
		numbers.push_back(num);				
	}
	sort(numbers.begin(), numbers.end());
	return numbers;
}

string trim(string str)
{
    str.erase(0, str.find_first_not_of("\t\n\v\f\r "));
    str.erase(str.find_last_not_of("\t\n\v\f\r ") + 1);
    return str;
}

void Sort()
{
    vector<int> data;

    string params;
    getline(cin, params);
    params = trim(params);

    string numbers;
    getline(cin, numbers);

    data = insertion_sort(numbers);

    if (params == "DESCENDING")
    {
        // DESCENDING
        for (auto it = data.rbegin(); it != data.rend(); ++it)
        {
            cout << *it << " ";
        }
    }
    else
    {
        // ASCENDING
        for (auto it = data.begin(); it != data.end(); ++it)
        {
            cout << *it << " ";
        }
    }
}

int main()
{
    map<string, function<void()>> functions;
    functions["SORT"] = Sort;
    /*
    functions["IS_SORTED"] = Is_Sorted;
    functions["GETMAX"] = GetMax;
    functions["APPEND"] = AppendSorted;
    functions["GET_HISTOGRAM"] = GetHistogram;
	*/

    int num;
    cin >> num;

    while (num > 0)
    {
        string func;
        cin >> func;

        auto it = functions.find(func);
        if (it != functions.end())
        {
            it->second();
        }
        cout << endl;

        --num;
    }

    return 0;
}
