Трамваї#1056

Трамваї

5 секунд
64 мегабайти
Легка

\includegraphics{https://static.e-olymp.com/content/1b/1b6a6c4b2fe21576d8d9b7f60888166f9d68ba04.jpg}

Уряд міста Ріверсайд вирішив покращити транспортну ситуацію в місті. Для цього була побудована мережа трамвайних ліній, що з'єднує трамвайних зупинок. Для зручності пасажирів можна було дістатися трамваєм між будь-якою парою зупинок. З іншого боку, з метою економії коштів, між будь-якими двома зупинками існував лише один можливий маршрут. Формально трамвайна мережа є деревом з вершинами, де вершини відповідають зупинкам, а ребра — трамвайним лініям.

Спочатку кожна трамвайна лінія використовувалася хоча б одним трамвайним маршрутом. Втім, з часом деякі маршрути були скасовані, внаслідок чого деякі трамвайні лінії залишилися невикористаними. Трамвайну лінію вважають невикористаною, якщо жоден трамвайний маршрут через неї не проходить. Щоб зберегти ресурси, у Ріверсайді вирішили демонтувати невикористані трамвайні лінії.

Ваше завдання — написати програму, яка визначить кількість невикористаних трамвайних ліній.

Ілюстрація до другого прикладу. Пунктиром позначено невикористану трамвайну лінію.

Вхідні дані

У першому рядку задано одне ціле число — кількість трамвайних зупинок у місті (2 \leq n \leq 100000). Кожен з наступних n-1 рядків описує трамвайну лінію (ребро дерева). Кожен опис складається з двох цілих чисел та — номерів зупинок, які з'єднує відповідна трамвайна лінія. Зупинки пронумеровано від до .

У наступному рядку міститься ціле число — кількість трамвайних маршрутів (0 \leq m \leq 100000). У кожному з наступних рядків описується один трамвайний маршрут. Опис складається з двох цілих чисел і — кінцеві зупинки маршруту. Трамвайний маршрут проходить найкоротшим шляхом між та (x \neq y).

Вихідні дані

Виведіть кількість невикористаних трамвайних ліній у Ріверсайді.

Приклади

Приклад 1

Loading
Loading