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

در شهر آبابوا به دنباله، امیرمحمد می‌گویند، هم‌چنین به دنباله‌هایی که به ازای هر \(i\) که 1 < \(a_i\) حداقل یکی از دو عدد \(a_i\) و \(a_i-1\) سمت چپ مکان \(i\) ظاهر نشده باشند، ایمانی می‌گویند. (منظور از سمت چپ، تمام خانه‌های قبل از خانه \(i\) است، نه تنها خانه‌ی قبلی)
مثلا \(<2, 2, 1>\) یک امیرمحمد ایمانی معتبر است و \(<1, 2, 2>\) یک امیرمحمد ایمانی معتبر نیست.
اهالی شهر آبابوا به سوالی مهم برخورده‌اند و از شما درخواست کمک دارند: چند امیرمحمد ایمانی به طول \(n\) با اعداد \(1\) تا \(m\) داریم؟

ورودی

سطر اول وروی شامل دو عدد \(n\) و \(m\) است که \(n\) طول مورد‌نظر برای امیرمحمد ایمانی است و امیرمحمد ایمانی فقط می‌تواند شامل اعداد \(1\) تا \(m\) باشد. \[1 \le n, m \le 500\]

خروجی

در خروجی باید تنها یک عدد چاپ کنید که جواب سوال مردم آبابوا است. از آنجا که این عدد می‌تواند خیلی بزرگ باشد باقی‌مانده آن بر \(10^9 + 7\) را چاپ کنید.

زیر مسئله ها

زیرمسئله نمره محدودیت ها
۱ ۴ \(n, m \le 8\)
۲ ۳۲ \(n, m \le 200\)
۳ ۶۴ بدون محدودیت اضافی

مثال

ورودی نمونه ۱

2 2

خروجی نمونه ۱

4

ورودی نمونه ۲

3 2

خروجی نمونه ۲

6
ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.