#2760. 导航噩梦

导航噩梦

题目描述

农夫约翰有N(2≤\red{N(2≤}N≤\red{N≤}40000)\red{40000)}个农场,标号1\red{1}到N,M(2≤\red{N,M(2≤}M≤\red{M≤}40000)\red{40000)}条的不同的垂直或水平的道路连结着农场,道路的长度不超过1000.\red{1000.}这些农场的分布就像下面的地图一样,

图中农场用F1..F7\red{F1..F7}表示, 每个农场最多能在东西南北四个方向连结4\red{4}个不同的农场.此外,农场只处在道路的两端.道路不会交叉且每对农场间有且仅有一条路径.

邻居鲍伯要约翰来导航,但约翰丢了农场的地图,他只得从电脑的备份中修复了.每一条道路的信息如下:

img

从农场23\red{23}往南经距离10\red{10}到达农场17\red{17}

从农场1\red{1}往东经距离7\red{7}到达农场17\red{17}

当约翰重新获得这些数据时,他有时被的鲍伯的问题打断:"农场1\red{1}到农场23\red{23}的曼哈顿距离是多少?"

所谓在(X1,\red{(X1,}Y1)\red{Y1)}和(X2,\red{(X2,}y2)\red{y2)}之间的"曼哈顿距离",就是∣x∣−X21+∣y∣−y21\red{|x| - X21+|y| - y21}.如果已经有足够的信息,约翰就会回答这样的问题(在上例中答案是17\red{17}),否则他会诚恳地抱歉并回答−1.\red{-1.}

输入格式

第1\red{1}行:两个分开的整数N\red{N}和M.\red{M.}

第2\red{2}到M+1\red{M+1}行:

每行包括4\red{4}个分开的内容,F1,\red{F1,}F2,\red{F2,}三,D\red{D}分别描述两个农场的编号,道路的长度,F1\red{F1}到F2\red{F2}的 方向N,\red{N,}E,\red{E,}S,\red{S,}W\red{W}.

第M+2\red{M+2}行:一个整数,K(1≤\red{K(1≤}K≤\red{K≤}10000),\red{10000),}表示问题个数.

第M+3\red{M+3}到M+K+2\red{M+K+2}行:

每行表示一个问题,由3\red{3}部分组成:F1,\red{F1,}F2,\red{F2,}其中F1\red{F1}和F2\red{F2}表示两个被问及的农场.而(1≤\red{(1≤}J≤\red{J≤}M)\red{M)}表示问题提出的时刻.J\red{J}为1\red{1}时,表示得知信息1\red{1}但未得知信息2\red{2}时.

输出格式

第1\red{1}到K\red{K}行:每行一个整数,回答问题.表示两个农场间的曼哈顿距离.不得而知则输出−1.\red{-1.}

样例

输入样例

7 6
1 6 13 E
6 3 9 E
3 5 7 S
4 1 3 N
2 4 20 W
4 7 2 S
3
1 6 1
1 4 3
2 6 6

输出样例

13
-1
10

提示

在时刻1,\red{1,}约翰知道1\red{1}到6\red{6}的距离为13\red{13};在时刻3,\red{3,}1\red{1}到4\red{4}的距离仍然不知道;在时刻6,\red{6,}位置6\red{6}向

北3\red{3}个距离,向西7\red{7}个距离于位置2,\red{2,}所以距离为10.\red{10.}