Задача. "Сколько ребер"

Неориентированный граф (возможно, с кратными ребрами) задан списком ребер. В памяти граф нужно хранить именно в виде списка ребер. Напишите функцию, которая по номерам двух вершин будет возвращать в качестве результата количество ребер между этими двумя вершинами.

Используя эту функцию, напишите программу, которой дается граф, и некоторое количество запросов о числе ребер между вершинами, программа печатает ответы на запросы.

Входные данные. Вводятся числа N и M (2≤N≤100, 0≤M≤10000) - количество вершин и ребер графа. Далее идет M пар чисел, задающих ребра. Далее идет количество запросов K (1≤K≤100). Далее идет K пар чисел, задающих запросы (номера вершин графа, количество ребер между которыми нас интересует).

Выходные данные. Для каждого запроса выведите количество ребер в графе между указанными вершинами.

Примечание. Заметьте, что если в графе два ребра: (1,2) и (2,1), то ответом на запрос о числе ребер между вершинами 1 и 2 будет число 2.

Пример

Пример вводаПример вывода
4 3
1 2
2 1
1 4
3
1 2
4 1
2 3
2
1
0