Puteri

Time limit: 0.1s Memory limit: 64MB Input: puteri.in Output: puteri.out

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 NN, pentru care există două numere naturale nenule AA şi B (B>1)B \ (B>1) astfel încât N=ABN = A^B, se numeşte putere. Mireluş şi-a propus să determine numărul de puteri din intervalul [X,Y][X, Y], unde XX şi YY 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 TT şi pentru fiecare din cele TT 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 puteri.in conține pe prima linie numărul de intervale TT, iar pe fiecare din următoarele TT linii câte 22 numere naturale nenule XX şi YY, separate prin exact un spaţiu, reprezentând extremităţile intervalelor.

Date de ieșire

Fișierul de ieșire puteri.out conţine TT 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

  • 1T1311 \leq T \leq 131
  • 1XY10181 \leq X \leq Y \leq 10^{18}
  • Intervalul [X,Y][X, Y] conţine şi numerele XX şi YY.
  • Pentru 10%10\% din teste Y5 000Y \leq 5 \ 000.
  • Pentru alte 25%25\% din teste Y100 000Y \leq 100 \ 000.
  • Pentru alte 20%20\% din teste Y10 000 000Y \leq 10 \ 000 \ 000.

Exemplu

puteri.in

1
1 36

puteri.out

9

Explicație

Cele 99 numere sunt:

1, 4, 8, 9, 16, 25, 27, 32, 36

Log in or sign up to be able to send submissions!