Задача №114043. Интервальные тренировки

В академии физической культуры разработали новый метод интервальных тренировок спортсменов. В соответствии с этим методом спортсмен должен тренироваться каждый день, однако рост нагрузки должен постоянно сменяться её снижением и наоборот.

План тренировки представляет собой набор целых положительных чисел \(a_1, a_2, \ldots, a_m\), где \(a_i\) описывает нагрузку спортсмена в \(i\)-й день. Любые два соседних дня должны иметь различную нагрузку: \(a_i \ne a_{i + 1}\). Чтобы рост нагрузки и её снижение чередовались, для \(i\) от 1 до \(m - 2\) должно выполняться следующее условие: если \(a_i \lt a_{i + 1}\), то \(a_{i + 1} \gt a_{i + 2}\), если же \(a_i \gt a_{i + 1}\), то \(a_{i + 1} \lt a_{i + 2}\).

Суммарная нагрузка в процессе выполнения плана должна составлять \(n\), то есть \(a_1 + a_2 + \ldots + a_m = n\). Ограничения на количество дней в плане нет, \(m\) может быть любым, но нагрузка в первый день тренировок зафиксирована: \(a_1 = k\).

Прежде чем приступить к тестированию нового метода, руководство академии хочет выяснить, сколько различных планов тренировок удовлетворяет описанным ограничениям.

Требуется написать программу, которая по заданным \(n\) и \(k\) определяет, сколько различных планов тренировок удовлетворяют описанным ограничениям, и выводит остаток от деления количества таких планов на число \(10^9 + 7\).

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

В первой строке входных данных находятся целые числа \(n\), \(k\) (\(1 \le n \le 5000\), \(1 \le k \le n\)).

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

Выведите одно число: остаток от деления количества планов тренировок на \(10^9 + 7\).

Примечание

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

Во втором примере единственный подходящий план \([3]\).

Система оценки

Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.

Примеры
Входные данные
6 2
Выходные данные
4
Входные данные
3 3
Выходные данные
1
Сдать: для сдачи задач необходимо войти в систему