10906. Столиці


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

У країні Триландії наближаються вибори нових столиць. Столиці у Триландії незвичайні, оскільки ними є одночасно одразу три різні міста. Така ідея розміщення столиць ґрунтується на дослідженнях ефективності управління країною, виконаних провідними економістами Триландії.

Загалом у Триландії \(n\) міст, у тому числі деякі пари міст з'єднані дорогами, і кожною можна проїхати в обидві сторони. Час проїзду кожною дорогою в один бік дорівнює одній годині. При цьому всі міста з'єднані дорогами таким чином, що з кожного міста можна дістатися будь-якої іншої, причому це можна зробити єдиним способом, якщо кожною дорогою проїжджати не більше одного разу і тільки в один бік.

Як показали результати проведених триландськими економістами досліджень, управління країною буде найефективнішим, якщо три столиці буде обрано так, що час найкоротшого шляху між кожною парою столиць становитиме рівно \(d\) годин. Перед проведенням виборів необхідно знати, скільки існує різних трійок міст, які відповідають описаним вище властивостям. Дві трійки міст вважаються різними, якщо у першій трійці є хоча б одне місто, якого немає у другій трійці, і навпаки.

Потрібно написати програму, яка за кількістю міст у Триландії та описом доріг знаходить кількість трійок міст, які можуть бути столицями.

Формат вхідних даних

Перший рядок вхідного файлу містить два розділені пропуском цілих числа: кількість міст у Триландії \(n\) і необхідний час у дорозі між столицями \(d\) (\(3≤𝑛≤10^5\) , \(1≤𝑑<𝑛\) ).

Кожен із наступних \((n – 1)\) рядків містить опис однієї дороги: пару розділених пробілом різних цілих чисел \(𝑎_𝑖\) і \(𝑏_𝑖\) — номери міст, які з'єднані двосторонньою дорогою (\(1≤𝑎_𝑖≤𝑛\) , \(1≤𝑏_𝑖\), \(a_i \neq b_i\) ). Кожна пара міст з'єднана лише однією дорогою.

Формат вихідних даних

Вихідний файл повинен містити одне ціле число - кількість відповідних трійок міст, які можуть бути обрані столицями. Якщо потрібних трійок міст не виявиться, вихідний файл повинен містити нуль.

Пояснення до тестів

У першому прикладі існує єдиний спосіб обрати три столиці: міста під номерами 2, 3 та 4. Малюнок, що відповідає першому прикладу, наведено нижче.

У другому прикладі існує чотири варіанти вибору трьох столиць із четвірки міст: 2, 3, 4 та 5. Можна також вибрати столицями міста з номерами 1, 6 та 7. Малюнок, що відповідає другому прикладу, наведено нижче.

Приклад вхідних даних

4 2
1 2
1 3
1 4

Приклад вихідних даних

1

Приклад вхідних даних

7 2
1 2
1 3
1 4
5 1
5 6
5 7

Приклад вихідних даних

5

Коментарі

Ще немає коментарів.