Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ACM-ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

C. Sad powers

time limit per test

2 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputYou're given *Q* queries of the form (*L*, *R*).

For each query you have to find the number of such *x* that *L* ≤ *x* ≤ *R* and there exist integer numbers *a* > 0, *p* > 1 such that *x* = *a*^{p}.

Input

The first line contains the number of queries *Q* (1 ≤ *Q* ≤ 10^{5}).

The next *Q* lines contains two integers *L*, *R* each (1 ≤ *L* ≤ *R* ≤ 10^{18}).

Output

Output *Q* lines — the answers to the queries.

Example

Input

6

1 4

9 9

5 7

12 29

137 591

1 1000000

Output

2

1

0

3

17

1111

Note

In query one the suitable numbers are 1 and 4.

Codeforces (c) Copyright 2010-2018 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Jun/25/2018 06:57:36 (d1).

Desktop version, switch to mobile version.

User lists

Name |
---|