Se dau şi două numere naturale şi o matrice cu linii (numerotate de la la ) şi coloane (numerotate de la la ) având elementele numere întregi în intervalul închis . Asupra acestei matrice se pot efectua mai multe operaţii de ştergere a unor linii, de ordonare a elementelor aflate pe anumite linii sau de adăugare a unor noi linii la sfârşitul matricei. Fiecare dintre aceste operaţii este codificată printr-o comandă având următoarea sintaxă:
Ştergerea este precizată printr-o linie de forma:
Comanda precizează că se şterg din matrice acele linii pentru care sunt îndeplinite simultan următoarele condiţii:
- este în relaţia faţă de
 - este în relaţia faţă de
 - este în relaţia faţă de
 
unde , , ,  pot fi unul dintre operatorii < (mai mic), > (mai mare), ! (diferit), = (egal).
De exemplu comanda: precizează că se şterg liniile în cazul în care şi .
După ştergerea tuturor liniilor precizate se va proceda la renumerotarea liniilor din matrice, iar dimensiunea matricii se va modifica.
Ordonarea este precizată printr-o linie de forma  cu semnificaţia că liniile  sunt sortate după valoarea din coloana , dacă pentru două linii valoarea din coloana  coincide se vor ordona după coloana , apoi după coloana  etc. Sortarea după o anumită coloană  se face crescător dacă  este C respectiv descrescător dacă  este D. Dacă două linii conţin valori identice în toate cele  coloane, se va păstra ordinea relativă în care apar ele în tabela iniţială.
Adăugarea este precizată printr-o linie de forma cu semnificaţia că se adaugă la sfârşitul matricei, după ultima sa linie, o linie nouă, elementele noii linii având pe rând, de la stânga la dreapta, valorile .
Cerinţă
Scrieţi un program care citeşte elementele matricei iniţiale, apoi citeşte un şir de comenzi şi determină matricea rezultată după efectuarea operaţiilor precizate prin comenzile respective în ordinea în care acestea sunt date.
Date de intrare
Fişierul de intrare matrice.in conţine pe prima linie numerele naturale  şi  separate printr-un spaţiu. Pe fiecare dintre următoarele  linii se află câte  numere întregi, reprezentând elementele matricei. Elementele de pe aceeaşi linie sunt separate prin câte un spaţiu.
Următoarea linie a fişierului de intrare conţine un singur număr natural , reprezentând numărul de operaţii ce se aplică matricei. Următoarele linii ale matricei precizează fiecare câte o comandă care se aplică matricei, respectând sintaxa şi precizările din enunţ.
Date de ieșire
Fişierul de ieşire matrice.out va conţine pe prima linie un număr natural  reprezentând numărul de linii al matricei finale. Pe fiecare dintre următoarele  linii se află câte  numere întregi, reprezentând elementele matricei finale. Elementele de pe aceeaşi linie sunt separate prin câte un spaţiu.
Restricții și precizări
- Niciuna dintre matricele intermediare nu au mai mult de de linii
 - Numărul maxim de condiţii pentru orice comandă de ştergere sau de ordonare este de ()
 - Toate comenzile din fişierul de intrare sunt corecte atât din punct de vedere sintactic dar şi din punct de vedere logic, adică nu se cere de exemplu sortarea sau ştergerea unor linii din afara matricei.
 
Exemplu
matrice.in
10 4
5 1 6 3
4 2 3 7
4 2 3 2
2 8 1 3
4 2 1 6
1 3 2 1
9 7 5 1
9 7 3 8
3 8 2 6
6 7 1 3
8
O 2 5 1 3 C
O 7 10 1 2 C
S 5 9 1 1 < 4
A 7 3 5 1
A 9 2 1 6
O 2 7 3 2 C 1 D 4 D
O 1 11 1 3 C
S 1 11 2 1 > 4 3 ! 5
matrice.out
7
4 2 1 6
2 8 1 3
3 8 2 6
4 2 3 7
4 2 3 2
9 7 5 1
7 3 5 1