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

یک گراف ساده و همبند nn راسی و mm یالی داریم. می‌خواهیم روی هر راس این گراف یک عدد از مجموعه 1,2,3,,k{ 1, 2, 3, \dots, k} بنویسیم.

اگر عدد نوشته شده روی راس vv را با ava_v و طول کوتاه ترین مسیر بین دو راس uu و vv را با dist(u,v)dist(u, v) نشان دهیم.

می‌خواهیم این عدد گذاری به گونه‌ای انجام شود که برای هر دو راس از این گراف مثل uu و vv داشته باشیم.

dist(u,v)=auavdist(u, v) = |a_u - a_v|

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

ورودی

خط اول ورودی به ترتیب سه عدد nn و mm و kk با فاصله از هم آمده‌اند.

1n100 0001 \le n \le 100\ 000 n1mmin(n(n1)2,100,000)n - 1 \leq m \leq min(\frac{n(n - 1)}{2},100 , 000) 1k1091 \le k \le 10^9

در mm خط بعدی و در هر خط دو عدد vv و uu با فاصله از هم آمده‌اند که نشان‌دهنده‌ی یالی بین دو رأس vv و uu هستند. 1v,un1 \le v, u \le n

تضمین می‌شود گراف ورودی، گرافی ساده و همبند است.

خروجی

مثال

ورودی نمونه ۱

2 1 3
1 2
Plain text

خروجی نمونه ۱

4
Plain text

اگر عدد نوشته شده روی راس شماره vv را با c(v)c(v) نشان دهیم؛ ۴ روش زیر برای این عدد گذاری وجود دارد.

  • c(1)=1,c(2)=2c(1) = 1, c(2) = 2
  • c(1)=2,c(2)=1c(1) = 2, c(2) = 1
  • c(1)=3,c(2)=2c(1) = 3, c(2) = 2
  • c(1)=2,c(2)=3c(1) = 2, c(2) = 3

ورودی نمونه ۲

3 3 2
1 2
2 3
3 1
Plain text

خروجی نمونه ۲

0
Plain text

در گراف بالا هیچ عدد گذاری قابل قبولی وجود ندارد، چون به ازای هر عددگذاری حداقل دو راس مجاور وجود دارد که عدد نوشته شده روی آن‌ها یکسان خواهند داشت و این با خواسته سوال تناقض دارد.


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