#include <iostream>
#include <vector>
#include <cstdint>
#include <algorithm>
using namespace std;

void input(vector<int32_t>& vec) {
	for (size_t i = 0; i < vec.size(); ++i) {
		int32_t val;
		cout << i << ":";
		cin >> val;
		vec[i] = val;
	}
}

int main() {
	uint32_t variant = 0;
	vector<int32_t> mas(0);
	
	cout << "Start program" << endl;
	
	do {
		cout << "Menu" << endl;
		cout << "  1. Array input" << endl;
		cout << "  2. Array output" << endl;
		cout << "  3. Sort asc" << endl;
		cout << "  4. Sort desc" << endl;
		cout << "  5. Exit" << endl;
		cout << "-->";
		cin >> variant;
		switch (variant) {
		case 1: {
			cout << "Enter array size: ";
			uint32_t size;
			cin >> size;
			mas.resize(size);
			input(mas);
			break;
		}
		case 2:
			cout << "Array: ";
			for(auto item: mas) {
				cout << item << " ";
			}
			cout << endl;
			break;
		case 3:
			sort(mas.begin(), mas.end());
			cout << "Array sorted!" << endl;
			break;
		case 4:
			sort(mas.begin(), mas.end(), greater<int32_t>());
			cout << "Array sorted!" << endl;
			break;
		case 5:
			break;
		default:
			cout << "Invalid option!" << endl;
			break;
		}
	} while (variant != 5);
	// your code goes here
	return 0;
}