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: Oct/19/2018 17:30:31 (f1).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|