Laiko ribojimas: 1s
Atminties ribojimas: 256MB
Duomenų failas: skliaustai.in
Rezultatų failas: skliaustai.out
Skliaustai
Yra skirtingų skliaustų simbolių, sudarančių porų.
Teisinga skliaustų seką apibrėžiame taip:
- Tuščia skliaustų seka yra teisinga.
- Jei yra teisinga skliaustų seka, ir
(
ir)
yra atitinkami skliaustų pora, tai "(
)
" yra teisinga skliaustų seka - Jei ir yra teisingos skliaustų sekos, tai "" yra teisinga skliaustų seka.
Pavyzdžiui, jei turime tris skirtingus skliaustų tipus (()
, []
, {}
), tai:
- Šios sekos yra teisingos: "", "
()
", "{()}[]
", "{[](())}{}[()]
". - Šios sekos nėra teisingos: "
(
", ")(
", "[)
", "{}[
", "[{]}
".
Graži skliaustų seka yra tokia teisinga skliaustų seka, kurioje bet kurie du gretimi simboliai yra skirtingi.
Suskaičiuokite kiek yra skirtingų gražių ilgio skliaustų sekų jei yra skirtingų skliaustų tipų.
Pradiniai duomenys
Pirmoje eilutėje yra du skaičiai ir ().
Rezultatai
Išveskite vieną skaičių - kiek yra skirtingų gražių skliaustų sekų iš simbolių. Kadangi rezultatas gali būti labai didelis, išspausdinkite jį moduliu .
Pavyzdžiai
Pradiniai duomenys | Rezultatai | Paaiškinimas |
---|---|---|
6 1 |
1 |
Vienintelė galima seka: ()()()()()() |
2 3 |
15 |
|
4244 157210 |
99727199 |