eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Анти палиндромные строки

Анти палиндромные строки

Даны два числа n и m. Посчитайте количество строк длины n, символы которых принадлежат алфавиту размера m, которые не содержат в качестве подстроки палиндромов длины больше единицы.

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

В первой строке записано целое число t - количество тестов. Далее следуют сами тесты. Каждый тест предствляет собой строку, в которой записано два целых числа n и m (1n, m109).

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

Для каждого теста выведите требуемое количество по модулю 109 + 7.

Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
2
5 6
6 5
Вихідні дані #1
1920
1620
Вхідні дані #2
4
3 6
1 3
3 1
2 4
Вихідні дані #2
120
3
0
12