Дано зв'язний неорієнтований граф, що складається з вершин і ребер. У цьому графі виділено дві вершини - і .
Необхідно визначити всі такі вершини, через які проходять всі шляхи між і . Вершини і також повинні бути включені у відповідь.
У першому рядку вхідного файлу задано цілі числа і (2 \le n \le 100000, 1 \le m \le 300000). Кожен з наступних рядків містить два числа x_i і y_i - номери вершин, які з'єднує -те ребро (1 \le x_i, y_i \le n, x_i \neq y_i). Кожна пара вершин з'єднана не більше ніж одним ребром. У наступному рядку записано число (1 \le k \le 100000). Далі слідує рядків із запитами, кожен з яких складається з двох чисел і (1 \le s, t \le n, s \neq t).
Для кожного запиту необхідно вивести три числа - мінімальний номер, максимальний номер і суму номерів усіх вершин, що входять у відповідь на запит.
Приклад 1