Задачі
Конкатенация двух палиндромов
Конкатенация двух палиндромов
Найдите количество способов, которыми можно построить строку длины $n$ используя $k$ латинских букв (размер алфавита равен $k$) в виде конкатенации двух непустых палиндромов.
\InputFile
Два натуральных числа $n$ и $k~(1 \le n \le 10^5, 1 \le k \le 26)$.
\OutputFile
Выведите количество способов построить заданную строку. Ответ вывести по модулю $10^9 + 7$.
\Examples
В первом примере строку длины $4$ из одной буквы ($а$ например) можно построить тремя способами: $a + aaa, aa + aa, aaa + a$.
Вхідні дані #1
4 1
Вихідні дані #1
3
Вхідні дані #2
3 2
Вихідні дані #2
8