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

Задача . C. Максимальное множество


Назовем множество из положительных целых чисел \(S\) красивым, если для каждой пары чисел \(x\) и \(y\) из этого множества верно, что либо \(x\) делится на \(y\), либо \(y\) делится на \(x\).

Даны два целых числа \(l\) и \(r\). Рассмотрим все красивые множества, состоящие из чисел не меньше \(l\) и не больше \(r\). Выведите два числа:

  • максимально возможный размер красивого множества, состоящего из чисел от \(l\) до \(r\);
  • количество красивых множеств, состоящих из чисел от \(l\) до \(r\), с максимальным размером.

Так как второе число может быть очень большим, выведите его по модулю \(998244353\).

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

В первой строке задано одно целое число \(t\) (\(1 \le t \le 2 \cdot 10^4\)) — количество наборов входных данных.

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

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

Для каждого набора входных данных выведите два целых числа — максимально возможный размер красивого множества, состоящего из чисел от \(l\) до \(r\), и количество таких множеств с максимальным размером. Так как второе число может быть очень большим, выведите его по модулю \(998244353\).

Примечание

В первом наборе входных данных максимальный размер красивого множества из чисел от \(3\) до \(11\) равен \(2\). Существуют \(4\) подобных множества с максимальным размером:

  • \(\{ 3, 6 \}\);
  • \(\{ 3, 9 \}\);
  • \(\{ 4, 8 \}\);
  • \(\{ 5, 10 \}\).

Примеры
Входные данныеВыходные данные
1 4
3 11
13 37
1 22
4 100
2 4
2 6
5 1
5 7

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

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