- Time limit: 1.00 s
- Memory limit: 512 MB
Annettuna on lista, jossa on eri kokonaislukua. Tehtäväsi on laskea, monellako tavalla listan voi järjestää niin, että aina kun jokin luku on pienempi kuin edellinen luku, lukujen ero on enintään .
Esimerkiksi kun lista on ja , mahdolliset järjestykset ovat , , ja .
Syöte
Syötteen ensimmäisellä rivillä on kokonaisluku : testien määrä.
Tämän jälkeen jokainen testi kuvataan kahdella rivillä. Ensimmäisellä rivillä on luvut ja , ja toisella rivillä on listan sisältö .
Tuloste
Tulosta jokaisen testin vastaus. Koska vastaus voi olla suuri luku, tulosta se modulo .
Esimerkki
Syöte:
3 1 5 1 3 1 1 2 3 8 42 8 2 100 95 999 1 77 6
Tuloste:
1 4 144