Un joc nou este format din cuburi identice, numerotate de la la . Fiecare cub are toate cele șase fețe adezive (cu "scai"). Jocul constă în realizarea unui obiect din toate cele cuburi. Obiectul inițial este cubul . Un obiect se obține din obiectul anterior prin alipirea unui nou cub la un cub aflat în obiect, pe una din fețele acestuia.
Pentru alipirea unui cub nou, se extrage un bileµel cu numărul cubului la care se va alipi acesta și se aruncă un zar care va indica unde va fi lipit cubul nou (sus, jos, la stânga, la dreapta, în față sau în spate, poziții codificate respectiv cu , , , , , , ale cubului din obiect).
Cerință
- Dându-se o succesiune de alipire a cuburilor, verificați dacă aceasta este valid
- Dacă succesiunea este validă, precizați dacă obiectul obținut are forma unui paralelipiped plin, specificând dimesiunile acestuia.
Date de intrare
Fisierul cuburi.in
conține pe prima linie valoarea lui . Pe următoarele linii, se află o succesiune de așezare a cuburilor, pentru fiecare cub specificând: , , , valori separate prin câte un spatiu.
Date de ieșire
Fișierul de iesire cuburi.out
va conține pe două linii rezultatele de la punctul a și respectiv b după cum urmează:
- Dacă succesiunea este validă, prima linie va conține valoarea . În caz contrar, prima linie va conține numărul cubului ce nu poate fi alipit, numărul cubului și numărul feței la care nu se poate alipi, precum si codul de eroare: pentru alipire la cub inexistent; pentru alipire pe o față ocupată.
- Dacă obiectul nu este paralelipiped plin, sau dacă succesiunea nu este validă, a doua linie a fișierului va conține valoarea .
- Dacă obiectul este paralelipiped plin, a doua linie a fișierului va conține dimensiunile acestuia, măsurate în număr de cuburi, în ordinea: număr de cuburi pe directiile sus-jos, stânga-dreapta, față-spate separate prin câte un spatiu.
Restricții și precizări
- ;
- pe o dimensiune se alipesc cel mult cuburi.
Exemplul 1
cuburi.in
6
2 1 1
3 2 4
5 1 4
6 3 1
4 6 3
cuburi.out
0
3 2 1
Exemplul 2
cuburi.in
4
2 1 1
4 2 1
3 2 4
cuburi.out
0
0
Exemplul 3
cuburi.in
8
2 1 1
5 1 4
6 3 6
7 6 2
3 2 4
4 2 6
8 7 3
cuburi.out
6 3 6 1
0
Exemplul 4
cuburi.in
8
2 1 1
4 2 6
3 2 4
6 3 6
7 6 2
5 1 6
8 7 3
cuburi.out
8 7 3 2
0