C. Подсчет хороших чисел
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Простое число — это положительное целое число, у которого ровно два делителя: $$$1$$$ и оно само. Первые несколько простых чисел: $$$2, 3, 5, 7, 11, \dots$$$.

Разложение положительного целого числа на простые множители — это представление его в виде произведения простых чисел. Например:

  • разложение числа $$$111$$$ на простые множители: $$$3 \cdot 37$$$;
  • разложение числа $$$43$$$ на простые множители: $$$43$$$;
  • разложение числа $$$12$$$ на простые множители: $$$2 \cdot 2 \cdot 3$$$.

Для каждого положительного целого числа его разложение на простые множители уникально (если не учитывать порядок простых в произведении).

Мы называем положительное целое число хорошим, если все простые числа в его разложении состоят как минимум из двух цифр. Например:

  • $$$343 = 7 \cdot 7 \cdot 7$$$ не является хорошим;
  • $$$111 = 3 \cdot 37$$$ не является хорошим;
  • $$$1111 = 11 \cdot 101$$$ является хорошим;
  • $$$43 = 43$$$ является хорошим.

Вам необходимо подсчитать количество хороших целых чисел от $$$l$$$ до $$$r$$$ (включительно).

Входные данные

Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^3$$$) — количество наборов входных данных.

Каждый набор входных данных состоит из одной строки, содержащей два целых числа $$$l$$$ и $$$r$$$ ($$$2 \le l \le r \le 10^{18}$$$).

Выходные данные

Для каждого набора входных данных выведите одно целое число — количество хороших целых чисел от $$$l$$$ до $$$r$$$.

Пример
Входные данные
4
2 100
2 1000
13 37
2 1000000000000000000
Выходные данные
21
227
7
228571428571428570