Într-un viitor mai mult sau mai puţin apropiat, oamenii vor popula galaxii, numerotate de la la . Datorită dezvoltării tehnologiei de transport spaţial este posibil ca din oricare galaxie să se ajungă printr-un zbor în oricare altă galaxie. Fiecare pereche de galaxii defineşte astfel un zbor care poate fi parcurs în orice sens.
La un moment dat se ia hotărârea ca companii de transport să asigure libera circulaţie a oamenilor între galaxiile existente. Companiile sunt numerotate de la la . Fiecărei companii i se va atribui o mulţime de zboruri . Notăm cu mulţimea galaxiilor deservite de compania prin zborurile din mulţimea .
Zborurile vor fi distribuite conform următoarelor reguli:
- prin zborurile din , compania poate transporta oameni între oricare două galaxii din , (fie direct, fie trecând prin alte galaxii din );
- pentru oricare două galaxii din , modul în care compania transportă călătorii de la o galaxie la cealaltă este unic;
- fiecare zbor trebuie să fie atribuit exact unei singure companii.
Cerinţă
Scrieţi un program care să determine o modalitate de atribuire a zborurilor celor companii în conformitate cu regulile enunţate mai sus.
Date de intrare
Fişierul de intrare galax.in
conţine o singură linie pe care va fi scris un număr natural , reprezentând numărul de galaxii.
Date de ieşire
Fişierul de ieşire galax.out
va conţine câte o linie pentru fiecare pereche de galaxii. Pe această linie vor fi scrise numere naturale , cu semnificaţia “zborul dintre galaxiile şi este atribuit companiei ”.
Restricții și precizări
- este câtul împărţirii întregi a lui la .
Exemplul 1
galax.in
4
galax.out
1 4 1
1 2 2
4 3 1
3 1 2
3 2 1
2 4 2
Explicație
Exemplul 2
galax.in
5
galax.out
1 2 1
1 5 3
2 4 1
4 3 1
5 3 1
1 3 2
2 3 2
1 4 3
5 2 2
5 4 2