Задача F. Морской бой 1D

Автор:Антон Карабанов   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:256 Мб
Выходной файл:Стандартный выход  

Условие

В первом "Д" классе ажиотаж. Все ученики играют в популярную, увлекательную и неувядающую игру — "Морской бой". Но поскольку ребята еще маленькие и считать умеют с трудом (да и перемены короткие) — в классические правила внесен ряд упрощений.

Игровое поле — прямоугольник размером 1 х n. На этом поле каждый участник размещает a «однопалубных» и b «двухпалубных» кораблей. При размещении корабли не могут касаться друг друга сторонами. На рисунке приведен один из вариантов размещения кораблей при n = 10, a = 2 и b = 2.

Первоклассник Тимофей хочет создать собственную стратегию начальной расстановки флота. Для начала ему необходимо выяснить — сколько существует различных расстановок для конкретной тройки значений n, a и b. Поскольку Вы в глазах Тимофея — непререкаемый авторитет в области программирования, за помощью будущий стратег обратился к Вам.

Формат входных данных

В единственной строке входных данных через пробел записаны три целых числа n, a и b — размер поля и начальные количества кораблей размером в одну и две клетки соответственно.

Формат выходных данных

Выведите одно целое число — количество различных вариантов размещения кораблей. Гарантируется, что ответ на задачу при любых входных данных не превосходит 1012.

Ограничения

1 ≤ n ≤ 50

0 ≤ a, b ≤ 20

Пояснения к примерам

Комментарий к первому примеру:

Комментарий ко второму примеру:

Примеры тестов

Стандартный вход Стандартный выход
1
5 1 1
6
2
8 4 0
5
3
10 3 2
0
4
3 0 0
1

0.199s 0.018s 21