Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024
Problem description
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 |
|
|
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). |