eolymp
bolt
Try our new interface for solving problems
Problems

Обязательные вершины

Обязательные вершины

Дан связный неориентированный граф, состоящий из \textbf{n} вершин и \textbf{m} рёбер. В нём выделены две вершины - \textbf{s} и \textbf{t}. Требуется найти в нём все такие вершины, через которые проходят \textbf{все} пути между \textbf{s} и \textbf{t}. Сами вершины \textbf{s} и \textbf{t}также следует включить в ответ. \InputFile В первой строке входного файла заданы целые числа \textbf{n} и \textbf{m} (\textbf{2} ≤ \textbf{n} ≤ \textbf{100000}, \textbf{1} ≤ \textbf{m} ≤ \textbf{300000}). В каждой из последующих \textbf{m} строк содержится по два числа \textbf{x_i} и \textbf{y_i} - номера вершин, которые соединяет \textbf{i}-ое ребро (\textbf{1} ≤ \textbf{x_i}, \textbf{y_i} ≤ \textbf{n}, \textbf{x_i} ≠ \textbf{y_i}). Каждая пара вершин соединена не более чем одним ребром. В следующей строке записано число \textbf{k }(\textbf{1} ≤ \textbf{k} ≤ \textbf{100000}). далее следует \textbf{k} строк с запросами, каждый из которых состоит из двух чисел \textbf{s} и \textbf{t} (\textbf{1} ≤ \textbf{s}, \textbf{t} ≤ \textbf{n},\textbf{s }≠ \textbf{t}). \OutputFile Для каждого запроса необходимо вывести три числа - минимальный номер, максимальный номер и сумму номеров всех вершин, входящих в ответ на запрос.
Time limit 4 seconds
Memory limit 256 MiB
Input example #1
4 3
1 2
2 3
3 4
2
1 4
2 3
Output example #1
1 4 10
2 3 5
Source III International Summer School Programming in Sevastopol 2012