CF178B3 Greedy Merchants

题目描述

在 ABBYY 生活着一只聪明的海狸。他现在在学习历史。当他从书上读到罗马帝国的时候,他对商人们的生活产生了兴趣。 罗马帝国由编号为 1 到 n 的 n 座城市构成。同时还有编号为 1 到 m 的 m 条双向路连接着这些城市。每一条路都连接着不同的城市。保证任意两个城市间最多只有一条路。 我们将一个城市序列t1, t2, t3, ....tp(p >= 1)称为城市 c1 和 c2 间的一条**路径**,当: ·t1 = c1 ·tp = c2 ·对于任意一个 i (1 = 0)是对于第 i 个商人来说**重要的**路的数量。 收税的日子到了。来自 ABBYY 的聪明的海狸非常的好奇,所以他决定统计每一个商人需要交多少第纳尔的税。现在他需要你的帮助。

输入格式

输入的第一行包含两个整数 n 和 m。 n 表示城市的数量, m 表示路的数量。 下面的 m 行每行包含两个整数 ai 和 bi, 表示第 i 条路连接的两个城市。保证两个城市间最多只有一条路并且任意两个城市间都存在一条**路径**。 下一行包含单独一个整数 k,表示商人的数量。 下面的 k 行每行包含 si, li 两个整数,分别表示第 i 个商人的家和商店所在城市的编号。

输出格式

输出 k 行数,每行单独一个整数表示第 i 个商人要交多少第纳尔的税。 ##### 输入输出样例 略 ##### 样例解释 图略(看下面) 第一个商人的家在 1 号城市,商店在 5 号城市。如果(1,2)或者(2,3)这两条路被摧毁其中一条,在城市 1 和 5 间就不存在路径了。如果任何其他路被摧毁,都不会对路径产生影响。所以 1 号商人需要交 2 第纳尔的税。

说明/提示

对于 20% 的数据: ·1