Трійки#10760

Трійки

2 seconds
256 megabytes
Very hard

Дано поле n \times m. Рядки нумерують зверху вниз від до . Стовпці нумеруються зліва направо з до . Деякі клітинки білі, а всі інші — чорні.

Введемо масив довжиною , а також масиви та довжиною , вони будуються наступним чином:

Скільки трійок різних масивів (a, b, c) може бути? Знайдіть відповідь за модулем .

Input

Перший рядок містить два цілі числа та (1 \leq n \leq 8\,000, 1 \leq m \leq 200).

Output

Виведіть відповідь за модулем .

Examples

Example 1

Loading
Loading

Example 2

Loading
Loading

Example 3

Loading
Loading

Example 4

Loading
Loading