题号:NC235654
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
牛可乐得到了一张有

个点的地图。这

个点之间由

条边连接,从任意一个点出发都可以到达其余点中的任意一个。
牛可乐定义“公平点”是对于给定的点

和点

,“公平点”到点

的距离和到点

的距离相同,两点之间的距离是两点间最短路径的边数。
牛可乐想请你计算出,对于给定的两个点,有多少公平点呢?
输入描述:
第一行包含一个整数
。
之后
行,每行包含两个整数
,代表
,
两点之间存在一条边。
第
行包含一个整数
,代表询问次数。
之后
行,每行包含两个整数
,代表一组询问的两个点。
输出描述:
对于每组询问,输出一行一个整数,代表对于给定的两点,“公平点”的数量。
示例1
说明
对于第一组询问,没有点到 节点

和节点

的距离相等。答案为

。
对于第二组询问,节点

到节点

的距离均为

,节点

到节点

的距离均为

。故答案为

。