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

Задача . F1. Shohag любит считать (простая версия)


Это простая версия задачи. Единственные различия между двумя версиями этой задачи — ограничения на \(t\), \(m\) и сумму \(m\). Вы можете совершать взломы только в том случае, если решены обе версии задачи.

Для массива целых чисел \(a\) длины \(n\) определим \(f(k)\) как наибольший общий делитель (НОД) максимальных значений всех подмассивов\(^{\text{∗}}\) длины \(k\). Например, если массив равен \([2, 1, 4, 6, 2]\), то \(f(3) = \operatorname{gcd}(\operatorname{max}([2, 1, 4]), \operatorname{max}([1, 4, 6]), \operatorname{max}([4, 6, 2])) = \operatorname{gcd}(4, 6, 6) = 2\).

Массив является хорошим, если для всех пар \(1 \le i \lt j \le n\) выполняется \(f(i) \neq f(j)\).

У Shohag есть целое число \(m\). Помогите ему подсчитать количество непустых хороших массивов произвольной длины, каждый элемент которых является целым числом от \(1\) до \(m\), по модулю \(998\,244\,353\).

\(^{\text{∗}}\)Массив \(d\) является подмассивом массива \(c\), если \(d\) можно получить из \(c\) путем удаления нескольких (возможно, нуля или всех) элементов из начала и нескольких (возможно, нуля или всех) элементов из конца.

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

Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит одно целое число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных. Далее следует описание наборов входных данных.

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

Гарантируется, что сумма \(m\) по всем наборам входных данных не превосходит \(10^5\).

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

Для каждого набора входных данных выведите целое число — количество подходящих массивов по модулю \(998\,244\,353\).

Примечание

В первом наборе входных данных подходящими массивами являются \([1]\), \([1, 2]\), \([2]\) и \([2, 1]\).

Во втором наборе входных данных всего \(29\) подходящих массивов. В частности, массив \([2, 1, 4]\) длины \(n = 3\) подходит, так как все его элементы принадлежат отрезку от \(1\) до \(m = 5\) и \(f(1)\), \(f(2)\) и \(f(n = 3)\) различны:

  • \(f(1) = \operatorname{gcd}(\operatorname{max}([2]), \operatorname{max}([1]), \operatorname{max}([4])) = \operatorname{gcd}(2, 1, 4) = 1.\)
  • \(f(2) = \operatorname{gcd}(\operatorname{max}([2, 1]), \operatorname{max}([1, 4])) = \operatorname{gcd}(2, 4) = 2.\)
  • \(f(3) = \operatorname{gcd}(\operatorname{max}([2, 1, 4])) = \operatorname{gcd}(4) = 4.\)

Примеры
Входные данныеВыходные данные
1 3
2
5
9
4
29
165

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

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