Laiko ribojimas: 1s
Atminties ribojimas: 256MB
Duomenų failas: genome.in
Rezultatų failas: genome.out
Genai
Bet kurio marsiečio DNR yra sudarytas iš ne daugiau kaip nukleotidų, sunumeruotų nuo
iki
. Kai kurios poros nukleotidų negali eiti iš eilės. Pavyzdžiui, jei marsiečio DNR negali turėti iš eilės einančio nukleotido
ir nukleotido
, tai
yra negalima marsiečio DNR, bet
gali būti Marsiečio DNR (jei nėra atitinkamo apribojimo).
yra skaičius nukleoditų porų, kurios negali eiti iš eilės marsiečio DNR. Užduotis yra suskaičiuoti, kiek yra ilgio
įmanomų marsiečio DNR sekų.
Pradiniai duomenys
Pirmoje eilutėje yra DNR ilgis (
), skirtingų nukleotidų kiekis
(
) ir uždraustų porų kiekis
(
).
Sekančiose
eilučių yra po du skaičius
(
).
ir
negali eiti šita tvarka iš eilės marsiečio DNR grandinėje.
Visos pateiktos poros yra skirtingos, t.y.
kai
.
Rezultatai
Tegu yra leidžiamų
ilgio marsiečio DNR grandinių kiekis. Išveskite liekaną
dalijant iš 1000000007 (
).
Pavyzdys
Duomenys | Rezultatai |
---|---|
3 3 1 2 2 |
22 |
5 3 2 3 1 1 1 |
99 |