Задача K. Лишнее ребро

Автор:Vasilii Parnikov   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:256 Мб
Выходной файл:Стандартный выход  

Условие

Дано полное k-арное дерево глубины h. k-арным называется корневое дерево где у каждой вершины не более k детей. Полным k-арным деревом глубины h называется k-арное дерево у которого все листы находятся на глубине h и у всех вершин k или 0 детей. Глубиной вершины в корневом дереве называется количество рёбер в простом пути от вершины до корня дерева.

Треугольником назовём неупорядоченную тройку различных вершин таких, что ровно одна вершина из тройки является предком двух остальных. Вершина u называется предком вершины v, если u лежит в простом пути от v до корня дерева.

Пусть edge  — некоторое ребро в дереве. Обозначим f(edge) =  количеству треугольников в двух деревьях которые получатся при удалении ребра edge в исходном дереве.

Авторы задачи ещё не решили, какое именно ребро является лишним. Пока они спорят, вычислите edge − ребро дерева f(edge), то есть сумму количества треугольников в двух деревьях по всем деревьям равным исходному с одним удалённым ребром.

Так как ответ может быть слишком большим, выведите его по модулю 998244353.

Формат входных данных

Единственная строка входных данных содержит два целых числа k и h.

Формат выходных данных

Выведите одно число  — ответ на задачу по модулю 998244353.

Ограничения

2 ≤ k < 998244353, 2 ≤ h ≤ 103

Примеры тестов

Стандартный вход Стандартный выход
1
2 2
54

0.093s 0.016s 15