В самой популярной карточной игре в Берляндии используется колода из $$$n \times m$$$ карт. У каждой карты есть два параметра: масть и ранг. Масти в игре пронумерованы от $$$1$$$ до $$$n$$$, а ранги пронумерованы от $$$1$$$ до $$$m$$$. Для каждой комбинации масти и ранга существует ровно одна карта в колоде.
Карта с мастью $$$a$$$ и рангом $$$b$$$ может побить карту с мастью $$$c$$$ и рангом $$$d$$$ в одном из двух случаев:
В игру играют два игрока. Перед началом игры они получают ровно по половине колоды. Первый игрок выигрывает, если для каждой карты второго игрока он может выбрать свою карту, которая ее может побить, и при этом не будет выбирать свои карты повторно (то есть существует такое разбиение на пары карт первого игрока с картами второго игрока так, чтобы в каждой паре карта первого игрока била карту второго игрока). Иначе выигрывает второй игрок.
Ваша задача — посчитать количество способов распределить карты так, чтобы выиграл первый игрок. Два способа считаются различными, если существует такая карта, что в одном она принадлежит первому игроку, а в другом — второму. Количество способов может быть очень большим, поэтому выведите его по модулю $$$998244353$$$.
Единственная строка содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n, m \le 500$$$).
Дополнительное ограничение на входные данные: $$$m$$$ четно.
Выведите единственное целое число — количество способов распределить карты так, чтобы выиграл первый игрок, взятое по модулю $$$998244353$$$.
1 4
2
2 2
2
3 6
1690
5 4
568
500 500
84693741
Название |
---|