Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024

2020-2022 2023 Regulations Schedule RODO info Ranking

Problem description


Ułamki egipskie
(ulamki-egipskie)
Limit pamięci: 128 MB
Limit czasu: 0.50 s

Jasio uwielbia matematykę. Ostatnio zaczął rozważać ułamki egipskie – zapisy dowolnego ułamka zwykłego w postaci sumy parami różnych ułamków zwykłych o liczniku równym 1.

Na przykład: ułamek $\frac{4}{5}$ może być przedstawiony jako ułamek egipski w następujący sposób: $$\frac{4}{5} = \frac{1}{2} + \frac{1}{4} + \frac{1}{20}$$ Jasio uwielbia matematykę, ale bardzo nie lubi dużych mianowników w ułamkach, dlatego postanowił rozważać tylko ułamki egipskie w których wszystkie mianowniki są równe co najwyżej N. Aby nie było zbyt trudno, na dobry początek Jasio postawił przed sobą zadanie znalezienia wszystkich przedstawień liczby 1 jako ułamek egipski (oczywiście o mianownikach ograniczonych przez N). Tak się jakoś złożyło, że to zadanie go przerosło. Pomóż mu!

Napisz program, który: wczyta liczbę N, wyznaczy wszystkie zapisy liczby 1 jako ułamki egipskie o mianowniku nie przekraczającym N i wypisze wynik na standardowe wyjście.

Wejście

W pierwszym (jedynym) wierszu wejścia znajduje się jedna liczba naturalna N – ograniczenie na mianownik wypisywanego ułamka.

Wyjście

Twój program powinien wypisać na wyjście wszystkie zapisy liczby 1 jako ułamki egipskie, w których mianownik każdego ułamka nie przekracza N. Każdy ułamek egipski powinien być wypisany jako rosnący ciąg mianowników pooddzielanych pojedynczymi odstępami. Wypisywane ciągi powinny być w kolejności leksykograficznej.

Ograniczenia

1 ≤ N ≤ 50.

Przykład

Wejście Wyjście Wyjaśnienie
6
1 
2 3 6 

$1 = \frac{1}{1} = \frac{1}{2} + \frac{1}{3} + \frac{1}{6}$.