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

Трійки

Трійки

Лимит времени 2 секунды
Лимит использования памяти 256 MiB

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

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

  • a_i (1 \leq i \leq n) — мінімальне j таке, що клітинка (i, j) чорна, або m+1, якщо такої немає;

  • b_i (1 \leq i \leq m) — мінімальне k таке, що клітинка (k, i) чорна, або n+1, якщо такої немає;

  • c_i (1 \leq i \leq m) — максимальне k таке, що клітинка (k, i) чорна, або 0, якщо такої немає.

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

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

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

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

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

Пример

Входные данные #1
2 3
Выходные данные #1
64
Входные данные #2
4 3
Выходные данные #2
2588
Входные данные #3
17 13
Выходные данные #3
229876268
Входные данные #4
5000 100
Выходные данные #4
57613837
Автор Anton Tsypko