2. Словарный запас
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Алфавит некоторого языка состоит всего из трёх букв — а, о и 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 автоматически работает с целыми числами любой длины.