ГлавнаяСборникиТурнирыРазделыФорумыУчастникиПечатьПомощьО системе

Разделы > Неотсортированные > задача:


Макс и шкафчик

Гость
• Вопросы к жюри (2)

Задачи раздела

• Лесенки
• Макс и A0
• Макс и выдача багажа
• Макс и дуэль танков
• Макс и офисная улица
• Макс и перемешанные фотографии
• Макс и розыгрыш приза
• Макс и тройные подарки
• Макс и шкафчик
• Максимум из минимумов
• Марсоход
• Маршрут
• Матрица
• Минусы
• Наименьшее число
• Одного ли цвета?
• Перестановки

Обратная связь

Если у вас есть предложения или пожелания по работе Contester, посетите форум сайта www.contester.ru.

Лимит времени 2000/2000/2000/2000 мс. Лимит памяти 65536/65536/65536/65536 Кб.

Макс и шкафчик
Макс и шкафчик
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
64 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Макс захотел приобрести себе шкафчик, в котором можно было бы хранить различные вещи. У шкафчика должно быть $$$N$$$ ящиков, расположенных вертикально друг над другом.

В мебельмом магазине Максу показали множество различных шкафчиков, а также особо отметили, что некоторые ящики в них могут закрываться на замок.

Однако Макс быстро сообразил, что даже если ящик закрывается на замок, это не всегда гарантирует, что до его содержимого нельзя будет добраться без ключа: если ящик непосредственно над рассматриваемым не запирается, то его можно просто вынуть из шкафчика, и тогда откроется доступ к запертому ящику.

Поэтому Макс считает ящик шкафчика надёжным, если выполняются два условия:

  • Во-первых, этот ящик должен закрываться на замок;
  • Во-вторых, либо этот ящик должен быть самым верхним, либо ящик сразу над ним тоже должен закрываться на замок.

Максу нужно, чтобы из $$$N$$$ ящиков шкафчика ровно $$$M$$$ были надёжными. Как оказалось, получить такой шкафчик можно различными способами. Например, ниже показано, как можно сделать шкафчик из $$$5$$$ ящиков, $$$3$$$ из которых надёжны (серым закрашены запирающиеся ящики, зелёным — запирающиеся и надёжные).

Помогите Максу определить, сколько существует способов собрать интересующий его шкафчик.

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

Ввод содержит целые числа $$$N$$$ и $$$M$$$ ($$$1 \le N \le 1000$$$, $$$0 \le M \le N$$$) — соответственно количество ящиков в шкафчике и количество ящиков, которые должны быть надёжными.

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

Выведите одно целое число — количество видов шкафчиков из $$$N$$$ ящиков, у которых ровно $$$M$$$ ящиков надёжны. Так как ответ может оказаться очень большим, выведите остаток от его деления на $$$1000000007$$$.

Примеры

Входные данные
5 3
Выходные данные
5
Входные данные
10 4
Выходные данные
151

Для отправки решений необходимо выполнить вход.

www.contester.ru