ksiruri

Time limit: 0.3s Memory limit: 16MB Input: ksiruri.in Output: ksiruri.out

Se consideră un număr natural KK și o secvență de NN șiruri s1s_1, s2s_2, \dots, sNs_N. Fiecare șir este format din cifre distincte. Pentru două șiruri sis_i și sjs_j se definește operația de scădere (–) astfel: sisjs_i - s_j va conține doar șirul de cifre care apar în sis_i, dar nu apar în sjs_j. De exemplu, dacă si=(1,3,8)s_i = (1, 3, 8) și sj=(2,9,3)s_j = (2, 9, 3), atunci sisj=(1,8)s_i - s_j = (1, 8). Această operație nu este asociativă, (sisj)sp(s_i - s_j) - s_p este diferită de si(sjsp)s_i - (s_j - s_p).

De aceea, dacă se alege un subșir si1s_{i_1}, si2s_{i_2}, \dots, sips_{i_p} din secvență, atunci convenim ca si1si2sips_{i_1} - s_{i-2} - \dots - s_{i_p} să se execute de la dreapta la stânga.

Exemplu: (1,2,3)(2,3)(1,3)=(1,2,3)(2)=(1,3)(1, 2, 3) - (2, 3) - (1, 3) = (1, 2, 3) - (2) = (1, 3). S-au obținut două cifre distincte.

Cerinţă

Să se determine numărul subșirurilor nevide si1s_{i_1}, si2s_{i_2}, \dots, sips_{i_p} din secvența s1s_1, s2s_2, \dots, sNs_N asupra cărora, dacă se efectuează operația de scădere (adică si1s_{i_1} - si2s_{i_2} - \dots - sips_{i_p}), se obțin cel puțin KK cifre distincte. Pentru că numărul subșirurilor poate fi foarte mare, atunci el se va calcula modulo 123 457123 \ 457.

Date de intrare

Fişierul ksiruri.in conţine pe prima linie numerele naturale KK și NN. Pe următoarele NN linii se află câte un șir sis_i. Linia i+1i+1, i=1Ni = 1 \dots N, va conține valorile m c1 c2m \ c_1 \ c_2 \dots cm, unde mm este numărul de termeni al șirului sis_i, iar c1c_1, c2c_2, \dots, cm sunt cifrele distincte ale șirului sis_i.

Date de ieșire

Fişierul ksiruri.out conţine un singur număr natural reprezentând numărul de subșiruri, modulo 123 457123 \ 457.

Restricții și precizări

  • 1K81 \leq K \leq 8
  • 2N50 0002 \leq N \leq 50 \ 000
  • 1i1<i2<<ipN1 \leq i_1 < i_2 < \dots < i_p \leq N

Exemplu

ksiruri.in

3 3
5 5 6 7 8 9
3 4 5 6
3 7 8 9 

ksiruri.out

6

Explicație

s1s_1 = 5 6 7 8 95 \ 6 \ 7 \ 8 \ 9
s2s_2 = 4 5 64 \ 5 \ 6
s3s_3 = 7 8 97 \ 8 \ 9

Cele șase subșiruri nevide sunt: s1s_1, s1s2s_1-s_2, s1s2s3s_1-s_2-s_3, s2s_2, s2s3s_2-s_3, s3s_3

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