Kui palju võimalusi?
문제
UFOsid juhitakse hiiglaslike klaviatuuridega, millel on rida, igas reas klahvi. Iga järgmine klahvirida algab eelmisest reast poole klahvi võrra paremal.
[이미지 1]
Kaks klahvi on naabrid, kui nad puutuvad külgepidi kokku. Klahvide ja vaheline kaugus on minimaalne sammude arv, millega saab klahvilt klahvile , kui igal sammul liikuda klahvilt mõnele tema naabrile. Näiteks eeloleval joonisel on klahvide [이미지 2] ja [이미지 3] vaheline kaugus 4.
On käimas UFOde vaheline sõda. Vaenlase UFO on just alustamas keerukat manöövrit; piloot tegi selleks klahvivajutust. Et teha vastumanöövrit, oleks kasulik teada, milliseid klahve vajutati. Meie teame aga ainult esimese ja teise vajutatud klahvi vahelist kaugust, teise ja kolmanda vajutatud klahvi vahelist kaugust jne. Mitu erinevat klahvivajutuste jada sellele infole vastab?
Et tegelik vastus võib olla üüratult suur, väljastada see mooduli järgi.
입력
Faili esimesel real on kaks täisarvu ja (, ). Teisel real on tühikutega eraldatud täisarvu , , , (), kus on -nda ja -nda vajutatud klahvi vaheline kaugus.
출력
Faili ainsale reale väljastada üks täisarv: võimalike klahvivajutuste jadade arv mooduli järgi.
예제
예제 1
2 1 1
10
예제 2
4 3 1 1 2
1642
예제 3
6 7 2 4 5 1 3 5 5
6969072