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

Задача . E. Непересекающиеся подперестановки


Заданы два целых числа \(n\) и \(k\).

Для массива длины \(n\) давайте определим его стоимость как максимальное количество непрерывных подмассивов этого массива, которые могут быть выбраны следующим образом:

  • каждый элемент массива принадлежит не более чем одному подмассиву;
  • длина каждого подмассива ровно \(k\);
  • каждый подмассив содержит каждое целое число от \(1\) до \(k\) ровно один раз.

Например, если \(n = 10\), \(k = 3\) и массив равен \([1, 2, 1, 3, 2, 3, 2, 3, 1, 3]\), его стоимость равна \(2\), потому что, например, мы можем выбрать два подмассива: от \(2\)-го элемента до \(4\)-го и от \(7\)-го элемента до \(9\)-го, и мы можем показать, что выбрать больше \(2\) подмассивов нельзя.

Посчитайте сумму стоимостей по всем массивам длины \(n\), состоящих из целых чисел от \(1\) до \(k\), и выведите ее по модулю \(998244353\).

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

Единственная строка входных данных содержит два целых числа \(n\) и \(k\) (\(2 \le k \le n \le 4000\)).

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

Выведите одно целое число— сумму стоимостей по всем массивам длины \(n\), состоящих из целых чисел от \(1\) до \(k\), по модулю \(998244353\).


Примеры
Входные данныеВыходные данные
1 10 3
71712
2 2 2
2
3 1337 42
524933698

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

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