Задача №112825. Важные вершины

Вам дан неориентированный граф с \(n\) вершинами и \(m\) ребрами, не содержащий петель и кратных ребер. Так же вам дано несколько пар вершин \((a_i, b_i)\). Для каждой пары требуется найти количество вершин \(c\) (\(c \neq a_i; c \neq b_i\)), таких, что любой путь из \(a_i\) в \(b_i\), если такой существует, проходит через вершину \(c\)

Путь из \(a\) в \(b\) -- это последовательность вершин, начинающаяся в \(a\) и заканчивающаяся в \(b\), такая, что каждые две соседние вершины этой последовательности соединены ребром. Обратите внимание, что путь может проходить по одной и той же вершине более одного раза.

В первой строке через пробел записаны два целых числа \(n\) и \(m\) (\(1 \le n \le 100; 0 \le m \le {n \cdot (n-1) \over 2}\)) --- количество вершин и ребер графа. В следующих \(m\) строчках записано по два целых числа \(u\) и \(v\) (\(1 \le u,v \le n; u \neq v\)) --- номера вершин, которые соединяет описываемое ребро.

В следующей строке записано единственное целое число \(q\) (\(1 \le q \le 50\)) --- количество пар \((a_i, b_i)\). В следующих \(q\) строках описываются пары. В \(i\)-й из этих строк через пробел записаны целые числа \(a_i\) и \(b_i\) (\(a_i \neq b_i\); \(1 \le a_i, b_i \le n\)).

Для каждой описанной пары выведите на отдельной строке единственное число --- количество вершин \(c\), таких, что любой путь из \(a_i\) в \(b_i\), проходит через \(c\).

Примеры
Входные данные
4 3
1 2
2 3
3 4
2
1 2
1 3
Выходные данные
0
1
Сдать: для сдачи задач необходимо войти в систему