teren

Time limit: 2.2s Memory limit: 32MB Input: teren.in Output: teren.out

Înaintea Bătăliei de la Vaslui, Ștefan cel Mare are o problemă de natură spirituală. Domnitorul știe că Suleiman Pașa l-a blestemat prin diverse metode oculte, deoarece, cu două amurguri înainte de bătălie, a visat înfrângerea oștilor sale. Ştefan a decis să-l cheme pe patriarhul Nicodim al II-lea să alunge forţele răului de pe terenul de luptă, pentru a asigura victoria moldovenilor.

Terenul de luptă are forma unui poligon convex cu NN vârfuri P1,P2,,PNP_1, P_2, \dots, P_N, specificate în sens trigonometric (sensul invers acelor de ceasornic) prin coordonatele lor carteziene (abscisă şi ordonată). Patriarhul poate alunga forţele răului doar dacă moldovenii vor îndeplini următoarele două condiţii:

  1. vor partiţiona terenul în zone triunghiulare, prin construirea unor garduri; un gard poate să fie trasat între două vârfuri ale terenului care nu sunt vecine pe conturul terenului astfel încât oricare două garduri să nu se intersecteze în interiorul terenului;
  2. cel puţin KK zone triunghiulare existente pe teren după partiţionare trebuie să fie sfinte.

O zonă triunghiulară cu vârfurile A(xA,yA)A(x_A,y_A), B(xB,yB)B(x_B,y_B), C(xC,yC)C(x_C,y_C) este considerată sfântă dacă valoarea expresiei xAyB+xByC+xCyAxAyCxByAxCyBx_A \cdot y_B + x_B \cdot y_C + x_C \cdot y_A - x_A \cdot y_C - x_B \cdot y_A - x_C \cdot y_B este un număr par.

Cerință

Determinaţi numărul de modalităţi distincte de a partiţiona terenul de luptă astfel încât cele două condiţii ale patriarhului Nicodim să fie respectate.

Două modalităţi sunt considerate distincte dacă există cel puţin un gard în una dintre modalităţi care nu apare în cealaltă modalitate.

Date de intrare

Fişierul de intrare teren.in conţine pe prima linie numărul natural NN, reprezentând numărul de vârfuri ale terenului de luptă și numărul natural KK, reprezentând numărul de zone triunghiulare sfinte care trebuie să existe pe teren. Pe următoarele NN linii se află câte o pereche de numere întregi xi yix_i\ y_i (1iN1 \le i \le N), reprezentând abscisa, respectiv ordonata vârfurilor terenului de luptă, specificate în sensul invers acelor de ceasornic. Valorile scrise pe aceeaşi linie sunt separate prin câte un spaţiu.

Date de ieșire

Fişierul de ieşire teren.out conţine o singură linie pe care este scris numărul de modalităţi distincte de a partiţiona terenul de luptă astfel încât cele două condiţii ale patriarhului Nicodim să fie respectate.

Deoarece acest număr poate fi foarte mare veţi afişa rezultatul modulo 109+710^9+7.

Restricții și precizări

  • 3N1003 \le N \le 100
  • 0KN20 \le K \le N-2
  • 10 000xi,yi10 000-10\ 000 \le x_i, y_i \le 10\ 000, pentru orice 1iN1 \le i \le N.
# Punctaj Restricții
1 12 3N123 \le N \le 12, K=0K = 0
2 24 12<N10012 \lt N \le 100, K=0K = 0
3 12 3N153 \le N \le 15, K>0K > 0
4 52 Fără restricții suplimentare

Exemplul 1

teren.in

5 0
1 0
3 0
5 2
4 5
0 3

teren.out

5

Explicație

Exemplul 2

teren.in

4 2
0 0
0 4
4 0
4 4

teren.out

2

Explicație

Cele două modalități sunt:

Exemplul 3

teren.in

7 3
2 0
7 0
9 3
8 5
4 7
2 6
1 3

teren.out

24

Explicație

Una dintre cele 2424 de soluții posibile este:

Triunghiurile (P1,P2,P6)(P1, P2, P6), (P1,P6,P7)(P1, P6, P7) și (P2,P5,P4)(P2, P5, P4) sunt sfinte.

Log in or sign up to be able to send submissions!