== include(page="template/taskheader" task_id="oposumi") ==
O familie de oposumi are o vizuină cu $N$ niveluri şi $N·(N+1)/2$ camere dispuse în formă de matrice triunghiulară cu $N$ linii. În fiecare cameră poate locui un singur oposum. Vizuina a fost săpată în pământ de către oposumi, iar nivelul $1$ (cel mai de sus) este cel mai apropiat de suprafaţa solului. Pe fiecare nivel $I$ se află $I$ camere. Dacă avem $I < J$, atunci nivelul $I$ va fi poziţionat mai sus decât nivelul $J$, adică nivelul $I$ va fi mai aproape de suprafaţa solului decât nivelul $J$. În familia de oposumi se află exact $N*(N+1)/2$ membri cu vârste cuprinse între $1$ şi $N*(N+1)/2$, vârste distincte. Regula de bază în vizuina familiei de oposumi este următoarea: în camera de pe linia $I$ şi coloana $J$ trebuie să locuiască un oposum mai tânăr decât în camerele de pe poziţiile $(I+1, J)$ respectiv $(I+1,J+1)$. Un oposum de vârsta $X$ se consideră mai tânăr decât un oposum de vârsta $Y$ dacă $X < Y$. Fiecare oposum vrea să ştie care e cel mai de sus nivel pe care se poate poziţiona. Din păcate, ei nu au lăbuţele făcute să programeze, aşa că membrii familiei de oposumi vă cer vouă ajutorul.
Dându-se numărul natural $N$ ei vă cer să răspundeţi la două întrebări:
**Cerinţa 1 (50 de puncte)**
Pentru fiecare oposum să se afle nivelul cel mai de sus (cel mai aproapiat de suprafaţa solului) pe care se poate afla respectând regulile de vârstă.
**Cerinţa 2 (50 de puncte)**
Pentru un oposum dat de vârsta $K$ să se afişeze matricea astfel încât oposumul să stea într-o cameră pe un nivel cât mai de sus respectând regulile de vârstă.
Poveste şi cerinţă...
h2. Date de intrare
Pe prima linie a fişierului de intrare $oposumi.in$ se găseşte numărul $T$ ce poate avea valoarea $1$ sau $2$ astfel încât:
* Dacă $T$ are valoarea $1$, atunci se cere rezolvarea cerinţei $1$, iar în continuare se va regăsi numărul natural $N$ reprezentând numărul de niveluri ale vizuinii.
* Daca $T$ are valoarea $2$, atunci se cere rezolvarea cerinţei $2$, iar în continuare se va regăsi numărul natural $N$ reprezentând numărul de niveluri ale vizuinii, urmat de numărul natural $K$ ce reprezintă vârsta oposumului ce se doreşte poziţionat pe un nivel cât mai de sus.
Fişierul de intrare $oposumi.in$ ...
h2. Date de ieşire
În fişierul de ieşire $oposumi.out$ se cere să se tipărească:
* Pentru $T = 1$ se va afişa un şir de $N·(N+1)/2$ numere, unde cel de al $I$-lea număr reprezintă cel mai de sus nivel pe care se poate afla oposumul de vârstă $I$.
* Pentru $T = 2$ se vor afişa $N$ linii, reprezentând modul în care sunt aşezaţi oposumii în vizuină în funcţie de vârstă, astfel ca oposumul de vârsta $K$ să fie poziţionat pe un nivel cât mai de sus posibil. Pe linia $I$ se vor afişa $I$ numere separate prin câte un spaţiu reprezentând vârstele oposumilor aşezaţi pe nivelul $I$.
În fişierul de ieşire $oposumi.out$ ...
h2. Restricţii
* $1 ≤ N ≤ 1000$,
* $1 ≤ K ≤ N·(N+1)/2$,
* Pentru cerinţa $T = 2$ soluţia nu este unică. Se acceptă orice soluţie corectă,
* Testele nu sunt grupate.
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example). |_. oposumi.in |_. oposumi.out |
| 1 3
| 1 2 2 2 3 3
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
| 2 4 7
| 1
2 3
4 5 7
6 8 10 9
|
Cel mai de sus nivel la care poate locui un oposum este:
* Oposumul de vârsta $1$ poate locui la nivelul $1$ .
* Fiecare oposum cu vârsta $2$, $3$ sau $4$ ar putea locui la nivelul $2$.
* Oposumii care au vârsta $5$ sau $6$ vor locui la nivelul $3$.
h3. Explicaţie
Cel mai de sus nivel, unde poate locui oposumul cu vârsta de $K = 7$ ani, este nivelul $3$, iar o aşezare posibilă a oposumilor în camere este prezentată mai sus.
...
== include(page="template/taskfooter" task_id="oposumi") ==