Masala G

Xotira 64 MB Vaqt 1000 ms
14

Qavslar

Qavslar soni nn ta bo'lgan ss satr(qavslar ketma-ketligi) to'g'ri hisoblanadi agar quyidagi ikki shart bajarilsa:

  • ss satrda ochiluvchi va yopiluvchi qavslar soni teng bo'lsa;
  • ss satrning istalgan prefiksida s[0...i](i<n)s[0...i](i<n) ochiluvchi qavslar soni yopiluvchi qavslar sonidan kam bo'lmasa. 

Sizga mm ta qavsdan iborat ss satr beriladi, sizning vazifangiz shunday ri=p+s+qr_i=p+s+q satrni topishdan iboratki, hosil bo'lgan rir_i satrning uzunligi nn ga teng bo'lsin va bu satr to'g'ri ketma-ketlikni tashkil qilsin. Bunday satrlardan jami nechta hosil qilish mumkin ekanligini hisoblang.


Kiruvchi ma'lumotlar:

Kirish faylining dastlabki satrida ikkita n,m(1mn105,mn2000)n,m(1\leq m\leq n\leq 10^5,m-n\leq2000) sonlar mos ravishda, hosil qilnishi kerak bo'lgan satr uzunligi va ss satrdagi qavslar soni. Keyngi satrda ss satr faqatgina '(' va ')' tashkil topgan ketma-ketlik.


Chiquvchi ma'lumotlar:

Yagona qatorda masalaning javobini 109+710^9+7 ga bo'lgandagi qoldiqni chop eting.


Misollar
# input.txt output.txt
1
4 1
(
4
2
4 4
(())
1
3
3 2
((
0
Izoh:

11-testda faqat 44 ta holatda hosil qilish mumkun

1.1. p="("p="(",  q="))"q="))"  p+s+q="(())"p+s+q="(())" 

2.2. p="()"p="()",  q=")"q=")",  p+s+q="()()"p+s+q="()()" 

3.3. p=""p="",  q="())"q="())",  p+s+q="(())"p+s+q="(())" 

4.4. p=""p="",  q=")()"q=")()",  p+s+q="()()"p+s+q="()()" 


22-testda faqatgina 1 ta hosil qilish mumkun

1.1. p=""p="",  q=""q="",  p+s+q="(())"p+s+q="(())" 


33-testda hech bir pp va qq satrlar orqali to'g'ri qavslardan tashkil topgan satrni hosil qilishning iloji yo'q.