Język C++
Silnia (n!) to iloczyn kolejnych liczb naturalnych od 1 do n. Zgodnie z konwencją przyjmuje się, że 0! =1. Wartość silni nie jest liczbą pierwszą (poza 2!) – wręcz przeciwnie, posiada na ogół bardzo wiele różnych podzielników. Naszym zadaniem jest sprawdzenie, przez jaką największą (całkowitą nieujemną) potęgę danej
liczby naturalnej k da się podzielić wartość silni n!. Napisz program, który dla różnych wartości n oraz k znajduje odpowiedź na to pytanie.

Pierwszy wiersz danych zawiera liczbę naturalną N oznaczającą ilość zestawów danych (1 ≤ N ≤ 200).
W następnych N wierszach zapisane są po dwie liczby naturalne n oraz k (2 ≤ n ≤ 100, 2 ≤ k ≤ 10000), oddzielone pojedynczym odstępem.

Program powinien dla każdej pary n i k wypisać wiersz tekst zawierający liczbę naturalną – maksymalny wykładnik potęgowy m taki, że n! dzieli się bez reszty przez k^m.

Dla danych wejściowych:
3
5 2
10 3
10 11

poprawnym wynikiem jest:
3
4
0

Bardzo dziękuję za pomoc:)