CSES - Taulukko
  • Time limit: 1.00 s
  • Memory limit: 512 MB

Tiedät, että taulukossa on nn lukua ja jokainen niistä on välillä 1m1 \dots m. Lisäksi tiedät, että minkään kahden vierekkäisen luvun ero ei voi olla enemmän kuin 11.

Sinulle annetaan taulukon kuvaus, jossa osa luvuista on tuntemattomia. Moniko taulukko voi täsmätä kuvaukseen?

Syöte

Syötteen ensimmäisellä rivillä on kaksi kokonaislukua nn ja mm: taulukon koko ja luvun suuruuden yläraja.

Seuraavalla rivillä on nn kokonaislukua x1,x2,,xnx_1,x_2,\dots,x_n: taulukon sisältö. Luku 00 tarkoittaa, että siinä kohtaa oleva luku on tuntematon.

Tuloste

Tulosta yksi kokonaisluku: mahdollisten taulukoiden määrä modulo 109+710^9+7.

Rajat

  • 1n1051 \le n \le 10^5
  • 1m1001 \le m \le 100
  • 0xim0 \le x_i \le m

Esimerkki

Syöte:

3 5
2 0 2

Tuloste:

3

Selitys: Taulukko voi olla [2,1,2][2,1,2], [2,2,2][2,2,2] tai [2,3,2][2,3,2].