Мама испекла Мише на день рождения торт. Торт имеет форму
выпуклого многоугольника с n вершинами. Вместе с
гостями и родственниками у Миши на празднике оказалось k
человек. В нужный момент Миша планирует разрезать торт на k
частей. Каждый разрез должен представлять собой диагональ исходного
многоугольника. Чтобы торт не развалился, разрезы не должны пересекаться нигде,
кроме как в вершинах торта.
Как юного математика, Мишу заинтересовал вопрос, сколько
существует способов разрезания торта на k частей
указанным выше способом. Порядок выполнения разрезов не важен. Помогите Мише
найти ответ на интересующий его вопрос.
Напишите программу, которая по заданным значениям чисел n и k определяет
количество способов разрезания на k частей торта
с n вершинами как указано выше.
Формат входных данных
Входной файл содержит два целых числа n
и k (1 <=k<=n<= 30, n³
3).
Формат выходных данных
Выведите в выходной файл одно число — искомое количество
способов разрезания торта. Подсказка: для ограничений задачи это число меньше 263.
Примеры входных и выходных файлов
stdin
stdout
4 2
2
6 4
14
3 2
0
Пояснения к примерам
Все
способы разрезания торта с шестью вершинами на четыре части приведены на
следующем рисунке.