În teoria grafurilor, un graf planar este un graf care poate fi încorporat într-un plan, adică poate fi desenat în plan în aşa fel încât muchiile sale să se intersecteze doar în noduri. Cu alte cuvinte, acesta poate fi desenat în aşa fel încât oricare două muchii să nu se intersecteze. Florin urmează în perioada 2023-2029 studii în informatică. Pasionat de numere prime, a aflat că numărul este un număr prim. İşi pregăteşte o lucrare din capitolul grafurilor şi are nevoie de ajutorul vostru.
Fiind date noduri fixe (asemănător cu ceasul clasic) în planul xOy și muchii, Florin vrea să determine numărul grafurilor distincte planare în care fiecare nod va avea gradul .
Spre exemplu:
- Pentru , aceasta este o variantă de reprezentare:
- Pentru , se observă că avem 2 soluții:
- În primul caz, muchiile sunt verticale:
- În al doilea caz, muchiile sunt orizontale:
Cerinţă
Scrieți un program care să determine numărul de grafuri obținute de Florin:
- Cerinţa 1: Numărul de grafuri se va afişa modulo
- Cerinţa 2: Numărul de grafuri se va afişa în întregime.
Date de intrare
Fişierul de intrare planar.in
conține pe prima linie două numere naturale şi reprezentând cerința și numărul par de noduri ale grafului.
Date de ieşire
Fişierul de ieşire planar.out
va conține o singură linie pe care va fi scris rezultatul obținut.
Restricții și precizări
- Pentru de puncte, .
- Pentru alte de puncte, și .
- Pentru restul de de puncte, .
Exemplul 1
planar.in
1 4
planar.out
2
Exemplul 2
planar.in
1 50
planar.out
7744491
Explicație
Exemplul 3
planar.in
2 50
planar.out
4861946401452