پرانتزکوبی


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

اگر به رفتار استف‌های کدکاپ ۳ در طول مسابقه دقت کرده‌باشید، درمی‌یابید که همه استفا عاشق مصطفی هستند.

امیر روی میز سرور (که مصطفی پشت آن می‌نشیند) تکه کاغذی پیدا کرده است که روی آن یک رشته پرانتزگذاری معتبر به صورت رنگی نوشته شده است و هر حرف آن به رنگ خاصی است. او پی برد که یکی از استف‌ها با سلیقه‌ی خاصی پرانتزگذاری را به صورت رنگی برای بدست آوردن دل مصطفی نوشته است. او متوجه می‌شود که استف عاشق از سبک رنگ آمیزی کوبیسم استفاده کرده است.

رشته پرانتزگذاری ss با طول nn را در نظر بگیرید. برای هر حرف ii ،mim_i را برابر با اندیس پرانتز باز یا بسته متناظر با حرف ii رشته در نظر بگیرید. از آنجا که این پرانتزگذاری معتبر است، مقدار mim_i به ازای هر ii وجود دارد. برای مثال اگر دنباله پرانتزگذاری ما (())() باشد، دنباله‌ی mm برابر با {4,3,2,1,6,5}\{4, 3, 2, 1, 6, 5\} خواهد بود. این رشته یک رنگ آمیزی کوبی است اگر ویژگی‌های زیر را داشته باشد:

  1. هر حرف به یکی از رنگ‌های ۱ تا kk رنگ شده باشد.
  2. رنگ حرف ii و رنگ حرف mim_i باید برابر باشد.
  3. اگر mii1m_i \ne i-1 رنگ حرف ii با i1i-1 متفاوت باشد.
  4. اگر mii+1m_i \ne i+1 رنگ حرف ii با i+1i+1 متفاوت باشد.

امیر می‌خواهد تعداد رنگ‌آمیزی‌های کوبی متفاوت ss با kk رنگ را زیر آن تکه کاغذ بنویسد تا مصطفی را بیشتر حیرت‌زده کند! از آنجا که این عدد خیلی بزرگ‌ است، باقی‌مانده آن را بر 109+710^9 + 7 برایش بدست بیاورید.

ورودی🔗

در سطر اول ورودی دو عدد nn و kk آمده است. سپس در سطر بعد رشته پرانتزگذاری ss آمده‌است. تضمین می‌شود ss یک پرانتزگذاری معتبر است.

1kn200 0001 \le k \le n \le 200\ 000 s=n|s| = n

خروجی🔗

در تنها سطر خروجی باقی‌مانده تعداد روش‌های رنگ‌آمیزی کوبی ss با kk رنگ را بر 109+710^9+7 چاپ کنید.

مثال🔗

ورودی نمونه ۱🔗

4 2
(())
Plain text

خروجی نمونه ۱🔗

2
Plain text

ورودی نمونه ۲🔗

6 3
(())()
Plain text

خروجی نمونه ۲🔗

12
Plain text
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.