فهرست مندرجات

Hadith

پیمان در مسابقه‌ی حفظ حدیث شرکت کرده است اما به دلیل مشغله‌ی بیش از حد نتوانسته خود را برای آزمون آماده کند. آزمون در شهر حدیث‌دانی برگزار می‌شود. نقشه‌ی این شهر مانند یک درخت $n$ راسی است که رئوس آن با اعداد $0$ تا $n - 1$ شماره‌گذاری شده‌اند. برای آشنایی بیشتر شرکت‌کنندگان با احادیث، $m$ مسیر از درخت انتخاب و روی هرکدام از آن‌ها یک حدیث متفاوت نوشته شده است. ممکن است یک مسیر بیش از یک‌بار انتخاب شده باشد. خوشبختانه پیمان کمی زودتر به شهر رسیده است و می‌خواهد دو راس انتخاب کرده و مسیر بین آن دو را بپیماید. در این صورت او تمام حدیث‌هایی را که تمام رئوس مسیر مربوط به آن حدیث، در مسیر انتخاب شده توسط او آمده‌اند، یاد می‌گیرد. توجه کنید که جهت حرکت در مسیر مهم نیست. دانستن هر حدیث مقداری امتیاز دارد. پیمان را در انتخاب این دو راس کمک کنید تا مجموع امتیاز حدیث‌هایی که یاد می‌گیرد، بیشینه شود.

پیاده‌سازی

در این سوال شما باید تابع زیر را پیاده‌سازی کنید.

این تابع دقیقا یک‌بار فراخوانی می‌شود. آن را طوری پیاده‌سازی کنید تا بیشینه‌ی مجموع امتیازی را که پیمان می‌تواند به دست آورد به عنوان خروجی برگرداند.

ارزیاب نمونه

ارزیاب نمونه ورودی را به صورت زیر می‌خواند: در خط اول دو عدد $n$ و $m$ آمده است. سپس $n - 1$ خط آمده است که در هر خط یک عدد صحیح آمده است. عدد صحیح خط $i$ ام مقدار $p_{i - 1}$ است. در هر یک از $m$ خط بعدی سه عدد آمده است که سه عدد خط $i$ ام به ترتیب برابر $u_{i - 1}$، $v_{i - 1}$، $w_{i - 1}$ است.

زیرمسئله‌ها

محدودیت‌ها

ورودی و خروجی نمونه

ورودی نمونه خروجی نمونه
4 3
0
0
0
0 2 2
1 3 99
1 2 98
100