Logo
(追記) (追記ここまで)

28569번 - Потрошение вывески 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1.5 초 1024 MB54480.000%

문제

Хэллоуин --- очень популярное событие, в котором участвуют взрослые и дети всех возрастов. Разумеется, каждому владельцу магазина на главной улице города хочется чем-то выделиться, чтобы привлечь к себе как можно больше покупателей.

Некоторые пытаются выставить у себя на витринах самые красивые или, наоброт, жуткие тыквы, а некоторые пытаются креативно оформить рекламные вывески. Владелец <<Лавки Джека-Потрошителя>> решил <<распотрошить>> свою вывеску, чтобы она стала самой оригинальной на всей улице.

Вывеска представляет из себя таблицу размера $n \times m,ドル в каждой клетке которой может быть размещена ровно одна буква. Сама рекламная надпись состоит в точности из $n \cdot m$ букв. Распотрошить вывеску можно либо по любой строке, либо по любому столбцу. Потрошение по строке номер $i,ドル например, выглядит следующим образом:

  1. Верхняя часть таблицы, состоящая из первых $i - 1$ строк, рекурсивно потрошится, и в нее записываются буквы с 1ドル$-й по $(i - 1) \cdot m$-ю;
  2. Строка номер $i$ обводится, и на ней обозначается направление слева-направо. В этом направлении в ней выписываются буквы с $(i - 1) \cdot m + 1$-й по $i \cdot m$-ю;
  3. Аналогично верхней части, нижняя часть таблицы (строчки с $i + 1$-й по $n$-ю) тоже рекурсивно потрошится, и в ней записываются оставшиеся буквы.

Симметричным образом происходит потрошение по столбцу --- на нем указывается направление сверху-вниз, в котором выписываются соответствующие буквы, а левая и правая части, если не пусты, рекурсивно потрошатся.

Владельцу лавки стало интересно, сколько есть различных способов распотрошить вывеску. Два способа считаются различными, если хотя бы одна ячейка таблицы, принадлежащая какой-то выделенной строке в одном из способов, принадлежит выделенному столбцу в другом. Обратите внимание, что выделить в таблице 1ドル \times 1$ строку и выделить столбец --- разные способы!

Поскольку число способов может быть достаточно большим, выведите его по модулю 10ドル^9 + 7$.

입력

В единственной строке через пробел дано два целых числа $n$ и $m$ (1ドル \leqslant n, m \leqslant 200$).

출력

Выведите единственное целое число --- количество способов распотрошить вывеску по модулю 10ドル^9 + 7$.

제한

예제 입력 1

1 1

예제 출력 1

2

예제 입력 2

2 2

예제 출력 2

14

예제 입력 3

3 2

예제 출력 3

48

힌트

Все возможные потрошения во втором примере:

출처

Olympiad > Russian Olympiad in Informatics > Internet Olympiads in Informatics > 2021-2022 Season > October 23, 2021 G번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /