Подвійні паліндроми
Паліндромом називається рядок, який читається однаково зліва направо і справа наліво. Наприклад, rotator, lil і abba є паліндромами, тоді як shalash не є паліндромом.
Подвійним паліндромом називається рядок, який є або паліндромом, або об'єднанням двох (не обов'язково різних) паліндромів. Наприклад, susanna, potato і abba є подвійними паліндромами, тоді як zzyzx і abaabb такими не є.
Даліла щойно усвідомила, що її ім'я є подвійним паліндромом! Тепер їй цікаво, скільки існує непорожніх рядків довжини не більше n, складених з перших k літер англійського алфавіту, які мають цю властивість. Допоможіть їй знайти цю кількість і вивести її за модулем 998 244 353.
Вхідні дані
У рядку містяться два цілі числа n і k (1 ≤ n ≤ 10^5
, 1 ≤ k ≤ 26) — максимальна довжина рядка і розмір алфавіту.
Вихідні дані
Виведіть кількість непорожніх подвійних паліндромів довжини не більше n, складених з перших k літер англійського алфавіту, за модулем 998 244 353.