Zadanie
Len sa pekne zoraďte!
Počet bodov: 90
Kde bolo, tam bolo, v ďalekej galaxii žili \(d\)-dimenzionálne bytosti. A tieto bytosti mali aj menšie verzie (deti) a menšie verzie chodili do škôlky.
V tejto konkrétnej škôlke bolo veľa detí - a každé dieťa malo iné rozmery, a zároveň pre pre každú možnú kombináciu veľkostí tam bolo také veľké dieťa. V tejto škôlke platilo, že deti mohli mať rozmery od \(0\) po \(k\) (vrátane) v každej dimenzii.
Jedného dňa deti išli na prechádzku. Ale chodiť na prechádzku nie je len tak - treba sa zoradiť!
Učitelia by chceli, aby sa deti zoradili do niekoľkých radov, a to tak, že
V každom rade sú deti zoradené podľa veľkosti. Menovite, dieťa musí mať vo všetkých dimenziách menšie alebo rovné rozmery ako všetky deti za ním.
Rady sú také, že medzi žiadne dve pri sebe stojace deti nejde dať iné dieťa tak, aby stále platila predchádzajúca podmienka
Rady sú symetrické: súčet rozmerov prvého a posledného dieťaťa v každom rade je presne \(kd\)
Dalo by sa deti rozdeliť do radov, aby tieto tri podmienky platili? Ak áno, ako?
Vstup a výstup
Na jedinom riadku sú čísla \(k\) a \(d\) oddelené medzerou.
Ak riešenie neexistuje, vypíšte \(-1\).
Ak riešenie existuje, na prvom riadku vypíšte \(r\): počet radov.
Následne vypíšte popis každého radu v nasledovnom formáte:
Najskôr vypíšte \(l_i\) - dĺžku radu.
Na ďalších \(l_i\) riadkoch vypíšte deti v radoch, od prvého (najmenšieho) po posledné (najväčšie). Dieťa si reprezentujeme ako \(d\) čísel oddelených medzerou na jednom riadku popisujúce jeho rozmery v jednotlivých dimenziách.
Obmedzenia
Platí \(0\leq k \leq 7\) a \(1\leq d \leq 6\)
Príklad
Input:
2 2
Output:
3
5
0 0
0 1
0 2
1 2
2 2
3
1 0
1 1
2 1
1
2 0
Pre odovzdávanie sa musíš prihlásiť.