最短路
题号:NC19814
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld

题目描述

给一个连通图,每次询问两点间最短路。每条边的长度都是1。

输入描述:

第一行两个整数n和m,表示图的点数和边数(1≤ n≤ 100000, 1≤ m≤ n+100)。
接下来m行每行两个整数a和b,表示一条边(1≤ a, b≤ n)。保证没有自环和重边。保证图连通。
接下来一个整数q表示询问的个数(1≤ q≤ 100000)。
接下来q行每行两个整数a和b表示询问a和b之间的最短路。

输出描述:

每个询问输出一行表示答案。
示例1

输入

复制
4 5
1 2
2 3
1 4
4 3
2 4
4
1 4
1 2
2 4
1 3

输出

复制
1
1
1
2