Nu e un secret pentru nimeni faptul că Mireluş se antrenează în timpul liber cu probleme de algoritmică. De curând a aflat că un număr natural N, pentru care există două numere naturale nenule A şi B (B>1) astfel încât N = A^B, se numeşte putere. Mireluş şi-a propus să determine numărul de puteri din intervalul [X, Y], unde X şi Y sunt numere naturale nenule.
Cum probabil v-aţi imaginat deja, Mireluş nu a reuşit să rezolve această problemă şi a decis să ceară ajutorul Olimpiei D’Info. Pentru a fi sigur că nici ea nu greşeşte, i-a dat un set de intervale şi i-a cerut să determine pentru fiecare interval numărul de puteri corespunzător.
Cerință:
Dându-se numărul de intervale T şi pentru fiecare din cele T intervale cele două extremităţi, determinaţi numărul de puteri corespunzător fiecărui interval dat de Mireluş Olimpiei.
Date de intrare
Fișierul de intrare puteri4.in conține pe prima linie numărul de intervale T, iar pe fiecare din următoarele T linii câte 2 numere naturale nenule X şi Y, separate prin exact un spaţiu, reprezentând extremităţile intervalelor.
Date de ieșire
Fișierul de ieșire puteri4.out va conține T linii. Fiecare linie va conţine numărul de puteri care aparţin intervalului corespunzător din fişierul de intrare.
Restricții și precizări
1 <= T <= 131.1 <= X <= Y <= 1018.- Intervalul
[X, Y]conţine şi numereleXşiY. - Pentru 10% din teste
Y <= 5000. - Pentru alte 25% din teste
Y <= 100 000. - Pentru alte 20% din teste
Y <= 10 000 000.
Exemplu:
puteri4.in
1 1 36
puteri4.out
9
Explicație
Cele 9 numere sunt: 1, 4, 8, 9, 16, 25, 27, 32, 36.