Олимпиадный тренинг

Задача . B. Фитнес Элы и роскошные числа


Работая в DTL, Эла тщательно следит за своим физическим и психическим здоровьем. Она начала заниматься различными видами спорта, такими как стрельба из лука, йога и футбол.

С тех пор, как Эла начала заниматься спортом, Эла переключается на новый вид спорта в те дни, которые она считает «роскошными». Пусть очередной день является \(x\)-м по порядку с начала занятий (дни нумеруются с единицы, то есть начальный день занятий является \(1\)-м). Этот день является «роскошным», если \(x\) нацело делится на \({\lfloor \sqrt{x} \rfloor}\)

Здесь \(\lfloor r \rfloor\) обозначает округление вниз действительного числа \(r\). Другими словами, это наибольшее целое число, не превышающее \(r\). \(x\)

Например: \(8\)-й, \(56\)-й, \(100\)-й дни — «роскошные», так как \(8\) делится на \(\lfloor \sqrt{8} \rfloor = \lfloor 2.8284 \rfloor = 2\), \(56\) делится на \(\lfloor \sqrt{56} \rfloor = \lfloor 7.4833 \rfloor = 7\) и \(100\) делится на \(\lfloor \sqrt{100} \rfloor = \lfloor 10 \rfloor = 10\). С другой стороны, \(5\)-й или \(40\)-й дни не являются таковыми, поскольку \(5\) не делится на \(\lfloor \sqrt{5} \rfloor = \lfloor 2.2361 \rfloor = 2\), а \(40\) не делится на \(\lfloor \sqrt{40} \rfloor = \lfloor 6.3246 \rfloor = 6\).

Будучи другом Элы, вы хотите заниматься с ней этими фитнес-мероприятиями, чтобы держать ее и себя в тонусе (и, конечно, повеселиться вместе). Ответьте на несколько вопросов, сколько раз Эла меняет вид спорта с \(l\) по \(r\) дни включительно?

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

Во входных данных находятся несколько наборов входных данных. В первой строке находится одно целое число \(t\) (\(1 \le t \le 10\ 000\)) — количество наборов входных данных. Далее следуют наборы входных данных.

Единственная строка каждого набора входных данных содержит два целых числа \(l\) и \(r\) (\(1 \le l \le r \le 10^{18}\)) — границы интервала, на котором вам нужно узнать, сколько раз Эла поменяет вид спорта.

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

Для каждого набора входных данных выведите ответ на задачу.

Примечание

В первом наборе входных данных есть \(5\) «роскошных» чисел на интервале \([8, 19]\): \(8, 9, 12, 15, 16\).


Примеры
Входные данныеВыходные данные
1 5
8 19
8 20
119 121
1 100000000000000000
1234567891011 1000000000000000000
5
6
2
948683296
2996666667

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя