Bajtosia i Bajtek przygotowują mikołajkowe prezenty dla uczniów swojej szkoły. Wspólnie stwierdzili, że najlepszym (niekoniecznie dla zębów) prezentem będzie dużo cukierków. Bajtek kupiłnpakunków z cukierkami, zawierających kolejno 1, 2, . . . , n cukierków.
Bajtosia chce rozdzielić wszystkie cukierki między jak największą liczbę dzieci, ale nie podoba się jej pomysł, żeby otwierać pakunki (kto by chciał dostać otwarty prezent?) ani pomysł, że niektórzy uczniowie mogliby dostać inną liczbę cukierków niż inni. Jedna osoba może jednak dostać kilka różnych pakunków.
Czy możesz pomóc? Napisz program, który wyznaczy największą liczbę uczniów, między których można podzielić wszystkie pakunki tak, aby każdy dostał po tyle samo cukierków.
Wejście
W pierwszym (jedynym) wierszu wejścia znajduje się jedna liczba naturalna n określająca liczbę pakunków przygotowanych przez Bajtka.
Wyjście
W pierwszym wierszu wyjścia powinna się znaleźć jedna liczba naturalna: największa liczba dzieci, które mogą być obdarowane prezentami. W kolejnych wierszach należy wypisać opis prezentów dla kolejnych dzieci, po jednym w wierszu.
Opis prezentów dla kolejnych dzieci powinien się składać z liczby naturalnej określającej liczbę pakunków, które otrzyma dziecko, pojedynczego odstępu oraz ciągu liczb naturalnych opisujących liczby cukierków w pakunkach przypisanych prezentowi dla dziecka.
Jeśli istnieje wiele możliwych rozwiązań, Twój program może wypisać dowolne z nich.
Przykłady
Wejście: 3
Wyjście:
2
2 1 2
1 3
Wyjaśnienie do przykładu: Bajtek przygotował pakunki zawierające 1, 2 oraz 3 cukierki. Można nimi obdarować dwoje uczniów: jednemu dając pakunek z trzema cukierkami, a drugiemu dając pozostałe pakunki.
Wejście: 4
Wyjście:
2
2 1 4
2 2 3
Wyjaśnienie do przykładu: Bajtek przygotował pakunki zawierające 1, 2, 3 oraz 4 cukierki. Można nimi obdarować dwoje uczniów: jednemu dając pakunki zawierające 2 i 3 cukierki, a drugiemu dając pakunki zawierające 1 i 4 cukierki.