Король Флатландии решил вырубить некоторые деревья, растущие перед его дворцом. Деревья перед дворцом короля посажены в ряд, всего там растет n деревьев, расстояния между соседними деревьями одинаковы.
После вырубки перед дворцом должно остаться m деревьев, и расстояния между соседними деревьями должны быть одинаковыми. Помогите королю выяснить, сколько существует способов вырубки деревьев.
Требуется написать программу, которая по заданным числам n и m определит, сколько существует способов вырубки некоторых из n деревьев так, чтобы после вырубки осталось m деревьев и соседние деревья находились на равном расстоянии друг от друга.
Формат входных данных
Входной файл содержит два целых числа n и m (1 ≤ m ≤ n ≤ 109).
Формат выходных данных
Выведите в выходной файл одно число — искомое количество способов.
Примеры входного и выходного файлов
входные данные |
выходные данные |
5 3 |
4 |
Пояснение к примерам
Если обозначить условно исходное расположение деревьев перед дворцом как «TTTTT», то возможные результаты после вырубки следующие:
«TTT..», «.TTT.», «..TTT», «T.T.T».