Vrăjitorul Arpsod are foarte multă treabă, așa că s-a gândit să vă ocupe timpul cu o problemă foarte grea, astfel încât acesta să poată lucra liniștit la proiectele sale despre stăpânirea lumii.
Acesta vă dă T
numere naturale. Pentru fiecare număr A
trebuie să găsiți cel mai mare K
cu proprietatea că există un șir B
de numere naturale nenule, nu neapărat distincte, astfel încât: (B
1
+ 1)(B
2
+ 1)...(B
K
+ 1) = A
Cerința
Arătați-i vrăjitorului că problema nu e suficient de grea pentru voi, găsind numărul K
cerut într-un timp cât mai scurt, pentru fiecare din cele T
numere.
Date de intrare
Fișierul grea.in
va conţine pe prima linie numărul natural T
, reprezentând numărul de valori date. Urmează apoi T
linii. Pe fiecare linie va exista un număr A
, numărul dat de Arpsod.
Date de ieșire
Fișierul grea.out
, va conţine T
linii. Pe fiecare linie va exista un număr K
, reprezentând numărul maxim de termeni pe care îi poate avea șirul, astfel încât să respecte proprietatea cerută. Prima linie reprezintă raspunsul pentru primul număr, a doua penrtu cel de-al doilea … şamd.
Restricții și precizări
1 ≤ T ≤ 500
2 ≤ A ≤ 2.000.000.000
Exemplu:
grea.in
1 4
grea.out
2
Explicație
Ne interesează rezultatul pentru un număr (4)
Şirul are 2
termeni: 1
şi 1 (1 + 1)(1 + 1) = 2 * 2 = 4