Criptografia

Um dos passos na geração de chaves privadas e públicas no algoritmo RSA é a escolha de dois números primos grandes, pp e qq. A partir desses números, calcula-se n=p⋅qn=p\cdot q e realizam-se uma série de operações sobre nn para gerar as chaves. A segurança do método depende da dificuldade de fatorar nn em seus fatores primos pp e qq. Os números que são produtos de dois primos são conhecidos como semiprimos.

Você, como aspirante a criptógrafo, decidiu estudar a dificuldade de fatoração de números grandes e a distribuição de números semiprimos. Para isso, você quer escrever um programa que determine quantos números semiprimos existem em um intervalo [l,r][l,r] dos naturais.

Entrada

A primeira linha da entrada descreve um inteiro nn (1<n≤1051 < n \leq 10^{5}), que é o número de consultas a serem respondidas. As próximas nn linhas, descrevem, cada uma, o intervalo da consulta por meio de dois inteiros, ll e rr (1≤l≤r≤1071\leq l\leq r \leq 10^7).

Saída

Imprima, para cada consulta, o número de números semiprimos no intervalo [l,r][l,r].

Notas

Existem 44 semiprimos no intervalo [1,10][1,10], que são: 44, 66, 99 e 1010.

Existem 33 semiprimos no intervalo [10,20][10,20], que são: 1010, 1414 e 1515.

Finalmente, existem 44 semiprimos no intervalo [20,30][20,30], que são: 2121, 2222, 2525 e 2626.

Exemplos

Entrada

3
1 10
10 20
20 30

Saída

4
3
4