Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024

2020-2022 2023 Regulations Schedule RODO info Ranking

Problem description


Zera i jedynki
(zera-jedynki)
Limit pamięci: 32 MB
Limit czasu: 0.50 s

Jasio dowiedział się ostatnio co to są macierze – zrozumiał tylko tyle, że są to takie tabelki o wymiarach N wierszy na M kolumn, w każdej komórce jest jakaś liczba. Macierze co prawda mogą reprezentować przekształcenia liniowe, zliczać ścieżki w grafie i inne takie, ciekawe i przydatne rzeczy, ale Jasio woli skupić się na zliczaniu macierzy. Dlatego zastanawia się teraz ile istnieje macierzy zerojedynkowych N × M dla parzystych N i M, w których w każdym wierszu i każdej kolumnie liczba zer jest równa liczbie jedynek. Pomóż mu!

Napisz program, który: wczyta wymiary macierzy, wyznaczy liczbę szukanych rozwiązań i wypisze wynik na standardowe wyjście.

Wejście

W pierwszym (jedynym) wierszu wejścia znajdują się dwie parzyste liczby naturalne N oraz M, oddzielone pojedynczym odstępem – liczba wierszy i kolumn poszukiwanych macierzy.

Wyjście

W pierwszym (jedynym) wierszu wyjścia powinna się znaleźć jedna liczba całkowita – reszta z dzielenia przez 109 + 7 liczby macierzy zerojedynkowych, w których w każdym wierszu i w każdej kolumnie liczba zer jest równa liczbie jedynek.

Uwaga

Jasio uważa dwie macierze za różne wtedy i tylko wtedy, gdy różnią się na co najmniej jednej pozycji.

Ograniczenia

2 ≤ N, M ≤ 16.

Przykład

Wejście Wyjście
2 2
2