D. Shake It!
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Открывая тайную дверь, раскрой нескончаемый переменчивый сказочный мир.

Назовем миром неориентированный граф G, во множестве вершин которого V(G) есть две особые вершины s(G) и t(G). Начальный мир имеет множество вершин {s(G), t(G)} и ребро между ними.

С начальным миром произошло n изменений. В каждом изменении была добавлена новая вершина w во множество V(G), выбрано существующее ребро (u, v), и добавлены два новых ребра (u, w) и (v, w) во множество ребер E(G). Обратите внимание, некоторые ребра могут быть выбраны в более, чем одном изменении.

Известно, что в итоговом графе минимальный s-t разрез равен m, то есть, нужно удалить хотя бы m ребер, чтобы s(G) и t(G) оказались в разных компонентах связности.

Найдите число непохожих миров, которые могли получиться, по модулю 109 + 7. Два мира называются похожими, если они изоморфны и есть изоморфизм, который не переобозначает вершины s и t. Формально, два мира G и H считаются похожими, если между их множествами вершин существует биекция такая, что:

  • f(s(G)) = s(H);
  • f(t(G)) = t(H);
  • Две вершины u и v в графе G соседние в G, если и только если f(u) и f(v) соседние в H.
Входные данные

Единственная строка содержит два целых числа n и m (1 ≤ n, m ≤ 50) — количество выполненных операций и минимальный разрез, соответственно.

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

Выведите одно число — число непохожих миров, которые могли получиться, по модулю 109 + 7.

Примеры
Входные данные
3 2
Выходные данные
6
Входные данные
4 4
Выходные данные
3
Входные данные
7 3
Выходные данные
1196
Входные данные
31 8
Выходные данные
64921457
Примечание

В первом примере следующие 6 миров попарно непохожи и удовлетворяют всем ограничениям, s(G) обозначена зеленым, t(G) обозначена синим, один из минимальных разрезов обозначен голубым.

Во втором примере следующие 3 мира удовлетворяют ограничениям.