当刷完 上的所有题目后,理所当然的,就开始他们的颓废生涯了。

他们玩的是 服务器上的 游戏,又称僵尸末日。游戏的目标是打僵尸,撑过最多的回合。由于 与这个游戏心有灵犀,导致他从头至尾几乎没死过一次,而其他两个人就不一定了。一开始,(下简称 )和 (下简称 )中的一个被击倒在了某个地方,而此时 (下简称 )在另一个地方玩耍。这时, 要以最快的速度去被击倒的那个人身边去复活他。不幸的是,当 复活完一个人离开时,另一个人又会被击倒……

整个地图是一个太阳图结构。所谓太阳图,就是整张图包括一个简单环,其他各点都与环上的某个点连接有且仅有一条边。整个地图共有 个房间,每个房间都有它自己的名字,这些房间之间有走廊可以通行,显然,走廊的数量

现在,给出 个询问,每个询问包括两个字符串 ,分别表示 所在的位置和 所在的位置。 在一个单位时间内可以从一个房间走到另一个房间,现在请求出 至少需要多少时间才能到达 所在的房间。

第一行一个数 ,表示房间数。

第二行一个数 ,表示环上的点的个数。

行,每行一个字符串 ,表示环上这个房间的名字。

行,每行一个字符串 和一个整数 ,表示不在环上的房间的名字和它连接的房间的序号。

接下来一个数 ,表示询问数。

行,每行包括两个字符串 ,用空格隔开,分别表示 所在的位置和 所在的位置。

我们假定房间序号按读入的顺序排列,且环上的第 个点连接第 的点,特别的,第 个点连接第 个点。

行,每行一个数,表示你对于每个问题的答案。

你可以将问题归约为两点间的最短路。

样例 的存在是为了告诉你环不一定有多个点组成。

数据规模

对于的数据,

对于的数据,

对于的数据,

对于的数据,

对于的数据,

对于全部的数据,如果标程运行时间超过 ,则给出 时限。