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

2020-2022 2023 Regulations Schedule RODO info Ranking

Problem description


Równanie
(rownanie)
Limit pamięci: 256 MB
Limit czasu: 3.00 s

Jasio napisał na tablicy równanie: A ⋅ B ⋅ C ⋅ D = N

Chciałby teraz dla ustalonego N wyznaczyć naturalne rozwiązania jego równania: czwórki liczb (A,B,C,D), dla których iloczyn jest równy N.

Jasio podejrzewa, że rozwiązań może być dość dużo. Prosi zatem o podanie K-tego w kolejności leksykograficznej rozwiązania.

Napisz program, który: wczyta liczby N i K, wyznaczy odpowiednie rozwiązanie równania i wypisze wynik na standardowe wyjście.

Wejście

W pierwszym (jedynym) wierszu wejścia znajdują się dwie liczba naturalne N i K, oddzielone pojedynczym odstępem.

Wyjście

Twój program powinien wypisać na wyjście K-te w kolejności leksykograficznej rozwiązanie równania. Liczby A, B, C, D powinny być pooddzielane pojedynczymi odstępami.

Jeśli równanie ma mniej niż K rozwiązań, zamiast tego należy wypisać NIE.

Ograniczenia

1 ≤ N ≤ 1013, 1 ≤ K ≤ 1018.

Przykład

Wejście Wyjście Wyjaśnienie
4 5
1 2 2 1

Jest aż 10 rozwiązań równania Jasia: (1,1,1,4), (1,1,2,2), (1,1,4,1), (1,2,1,2), (1,2,2,1), (1,4,1,1), (2,1,1,2), (2,1,2,1), (2,2,1,1), (4,1,1,1).