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

Для последовательности a из n целых чисел от 1 до m, включительно, введём обозначение f(a) — количество различных подпоследовательностей a (включая пустую подпоследовательность).

Вам заданы два положительных целых числа n и m. Пусть S это множество всех последовательностей длины n с элементами от 1 до m. Найдите значение суммы f(a) по всем a из S по модулю 109 + 7.

Входные данные

В единственной строке находится пара целых чисел n и m (1 ≤ n, m ≤ 106) — количество элементов в массивах и верхняя граница для элементов.

Выходные данные

Выведите одно целое число c — искомую сумму по модулю 109 + 7.

Примеры
Входные данные
1 3
Выходные данные
6
Входные данные
2 2
Выходные данные
14
Входные данные
3 3
Выходные данные
174