#0000B5

Tetris

Popularna računarska igra Tetris se igra u polju koje se sastoji od S kolona i nema ograničenu visinu. U svakom koraku se jedna od sljedećih 7 figura ubacuje u polje:


Image: tetris1

Prilikom ubacivanja figure u polje, ona se može po volji rotirati za 90, 180 ili 270 stepeni, te se može po volji pomerati lijevo ili desno, ali tako da potpuno leži unutar polja za igru. Zatim figura pod dejstvom gravitacije pada sve dok se ne smesti na dnu polja ili na već zauzetim poljima. U varijanti tetrisa osmišljenoj posebno za potrebe ovog zadatka, figura se mora smestiti tako da svi delovi figure leže na dnu polja ili na već zauzetim poljima. Preciznije, nakon smeštanja figure ne sme postojati polje koje je slobodno, a da je neko drugo polje iznad njega zauzeto.


Razmotrimo primer sa 6 kolona gde su početne visine kolona (brojevi već zauzetih polja u svakoj koloni) 2, 1, 1, 1, 0 i 1. Figuru označenu brojem 5 je moguće na pet različitih načina smestiti u polje:


Image: tetris2

Zadana je početna visina svake kolone i jedna figura koju je potrebno ubaciti u polje.
Napišite program koji određuje na koliko načina se to može uciniti, tj. broj razlicitih konfiguracija polja koje mogu nastati nakon ubacivanja figure.


InputU prvom redu standardnog ulaza nalaze se dva prirodna broja S i F, 1 <= S <= 100, 1 <= F <= 7, broj kolona od kojih se sastoji polje i oznaka figure koju ubacujemo. U drugom redu nalazi se niz od S cijelih brojeva između 0 i 100 (uključivo), početne visine zauzetih polja sleva nadesno.

OutputU prvi i jedini red standardnog izlaza ispišite broj načina da se zadana figura smesti u polje.

ulaz:
6 5
2 1 1 1 0 1
Izlaz:
5


ulaz:
5 1
0 0 0 0 0
Izlaz:
7


ulaz:
9 4
4 3 5 4 6 5 7 6 6
Izlaz:
1


Submit solution

Coming later

The grading service will be connected in a later migration step. You can inspect the task and your previous results now.