Алфавит некоторого языка состоит всего из трёх букв — а, о и c. Определите, какое максимальное количество слов длины N может быть в языке, если каждая буква алфавита может встречаться в слове не более K раз.
Вводятся два целых числа $$$N$$$ и $$$K$$$, каждое в отдельной строке ($$$1 \le N, K \le 30$$$).
Выведите одно целое число — количество слов.
Подзадача 1 (до 25 баллов): $$$K \le 2$$$
Подзадача 2 (до 35 баллов): $$$N \le 15$$$
Подзадача 3 (до 40 баллов): $$$N \le 30$$$
2 1
6
2 2
9
В первом примере ответ равен 6 — это слова ао, оа, ос, со, ас и са. Во втором примере ответ равен 9, так как добавляются ещё слова аа, оо и cc.
Обратите внимание, что ответ в последней подзадаче может быть достаточно большим и не помещаться в 32-битный тип данных. Рекомендуется использовать 64-битный тип данных, например, тип long long в языке C++, тип int64 в языке Pascal, тип long в языках Java и C#. Язык Python автоматически работает с целыми числами любой длины.