color

Time limit: 0.35s Memory limit: 16MB Input: color.in Output: color.out

Zăhărel are un set de NN becuri colorate cu KK culori (pentru uşurinţă vom considera culorile numerotate de la 11 la KK). Fiecare bec este special, în sensul că are un comutator care îi schimbă culoarea cc curentă astfel:

  • dacă c=Kc = K, culoarea devine 11
  • dacă c<Kc < K, culoarea devine c+1c+1

Zăhărel doreşte să comute anumite becuri astfel încât toate să aibă aceeaşi culoare CC. Totusi, sarcina lui nu este atât de simplă, deoarece nu poate comuta becurile direct, ci trebuie să folosească o telecomandă cu MM butoane. Apăsarea unui buton afectează fiecare bec, mai exact, pentru fiecare buton ii se dau NN valori Ai,1 Ai,2Ai,NA_{i,1} \ A_{i,2} \dots A_{i,N} cu semnificaţia că becul jj este comutat de Ai,jA_{i,j} ori când se apasă butonul ii.

Cerință

Scrieţi un program care determină în câte moduri poate folosi Zăhărel cele MM butoane astfel încât toate becurile să aibă culoarea CC.

Date de intrare

Fişierul de intrare color.in conţine pe prima linie numerele naturale N M K CN \ M \ K \ C separate prin spaţii. Următoarea linie va conţine NN numere naturale separate prin spaţii reprezentând culorile iniţiale ale becurilor, în ordine de la 11 la NN. Următoarele MM linii vor conţine câte NN numere naturale Ai,1 Ai,2Ai,NA_{i,1} \ A_{i,2} \dots A_{i,N}, separate prin spaţii, descriind butonul ii.

Date de ieșire

În fişierul de ieşire color.out se va scrie pe prima linie numărul de moduri de a folosi telecomanda, astfel încât toate becurile să aibă culoarea CC. Rezultatul se va afişa modulo 666 013666 \ 013.

Restricții și precizări

  • La corectare se vor folosi 1010 teste. Ele vor avea următoarele valori pentru NN, MM si KK:
Test 1 2 3 4 5 6 7 8 9 10
N 13 64 100 150 200 128 99 150 200 200
M 20 64 99 101 199 169 125 150 175 200
K 47 9973 30011 666019 15485863 9699690 602329 28447459 149662546 160213270
  • 1CK1 \leq C \leq K
  • 0Ai,j1090 \leq A_{i,j} \leq 10^9
  • Un buton de pe telecomandă poate fi apăsat de un număr de ori mai mic decât KK

Exemplu

color.in

4 6 2 1
1 2 1 2
1 0 1 0
0 1 0 1
1 0 0 0 
0 1 0 0 
0 0 1 0
0 0 0 1

color.out

4

Explicație

Cele 44 posibilităţi sunt:

  1. butonul 22
  2. butoanele 4,64, 6
  3. butoanele 1,2,3,51, 2, 3, 5
  4. butoanele 1,3,4,5,61, 3, 4, 5, 6

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