Марафон Канто
Ограничение по времени | Ограничение по памяти |
---|---|
2 секунды | 256 мегабайт |
Скоро лето, Есмахан решил, что пора начать бегать по утрам в своем городе Канто. Город Канто представляет собой перекрестков соединённых дорогой, где от любого перекрестка можно добраться до любого другого перекрестка двигаясь по дорогам. В планах было начать бегать с воскресенья, однако в этот же день был назначен городской ежегодный веломарафон Канто.
Определим маршрут , что , множеством дорог, которые лежат на кратчайшем пути между стартовым перекрестком и конечным перекрестком . Длиной маршрута будем называть количество дорог по которым он проходит.
Есмахан не хочет бегать по занятым дорогам веломарафона во время пробежки.
На вход дается количество перекрёстков в городе Канто. Далее дается дорога соединяющая два перекрестка. Гарантируется, что дается дороги таким образом, что от любого перекрестка можно добраться до любого другого перекрестка переходя только по дорогам. После дается q количество запросов на которые вы должны ответить. Запросы даются двух видов:
-
, в нем вы должны ответить длиной самого длинного маршрута если веломарафон будет проходить через маршрут (x, y).
-
, в нем должны ответить количеством различных маршрутов , что Есмахан выберет маршрут длиной .
Выведите ответ на каждый запрос.
Поэтому хочет выяснить длину самого длинного маршрута который будет проходить по свободным дорогам от веломарафона маршрутом , чтобы его пробежка была максимальна.
Так же, Есмахан хочет выяснить сколько возможных маршрутов веломарафона возможно, что его пробежке будет длины ?
Формат входного файла
Первая строка содержит одно целое число , обозначающее количество перекрестков в городе Канто.
В каждой из следующих строк содержится описание дорог: два целых числа и .
Следующая строка содержит одно целое число , обозначающее количество запросов.
Следующие строк содержат описания запросов.
Каждый запрос задан в одном из следующих форматов в зависимости от типа запроса:
для запросов первого типа.
для запросов второго типа.
Формат выходного файла
Ддя каждого запросы выведите ответ на него.
Примеры
Ввод
8
1 2
2 3
2 4
3 5
1 6
4 7
7 8
6
2 3
1 4 6
1 1 8
2 4
1 2 3
2 2
Вывод
4
2
2
6
5
12