精灵在探险的路上遇到了一片森林,现在她需要穿过这片森林。
可以把森林看成一个 n×nn \times nn×n 的网格,入口在点 (1,1)(1,1)(1,1) ,出口在 (n,n)(n , n)(n,n) ,森林的每一点都有一个泥泞程度wi,jw_{i,j}wi,j ,森林中也有 mmm 个树洞,它们从一点单向地通往另一点。
精灵可以从森林中的一点移动到相邻的距离为111的四点内(必须在森林内),也可以穿过树洞从树洞的起点到达树洞的终点,而她每次这么做都会消耗一定的体力:
精灵想知道自己穿过森林至少需要多少体力,请你帮帮它。
ktk^tkt 指的是: ttt个kkk相乘,即kkk的ttt次幂。
第一行,三个整数 n,m,kn,m,kn,m,k ,分别代表森林大小,树洞数目,常数kkk。
第222行到第n+1n+1n+1行,每行nnn个整数,代表森林中每个点的泥泞程度。
接下来连续的mmm行,每行四个整数x1,y1,x2,y2x_1,y_1,x_2,y_2x1,y1,x2,y2代表有一个树洞从(x1,y1)(x_1,y_1)(x1,y1)通向(x2,y2)(x_2,y_2)(x2,y2) 。
一个整数,代表精灵穿过森林至少需要多少体力。
样例输入1:
3 1 5 1 2 3 4 5 6 7 8 9 1 2 3 2
样例输出1:
16
样例输入2:
4 0 7 1 1 4 5 1 4 1 9 1 9 1 8 0 5 2 1
样例输出2:
10
样例解释: 对于样例111,从点 (1,1)(1,1)(1,1) 走到 (1,2)(1,2)(1,2) ,消耗 222 点体力,穿过从 (1,2)(1,2)(1,2) 到 (3,2)(3,2)(3,2) 的树洞,消耗 555 点体力,最后从 (3,2)(3,2)(3,2) 到达 (3,3)(3,3)(3,3) ,消耗 999 点体力,共消耗 2+5+9=162+5+9=162+5+9=16 点体力,可以很容易看出,没有比这消耗体力更少的方案了。
对于100%100\%100%的数据满足: 2≤n≤2002\leq n \leq 2002≤n≤200 , 0≤m≤10000\leq m \leq 10000≤m≤1000 , 5≤k≤105\leq k\leq 105≤k≤10 ,0≤wi,j≤10000\leq w_{i,j} \leq 10000≤wi,j≤1000 。
保证点 (1,1)(1,1)(1,1) 和 (n,n)(n,n)(n,n) 没有树洞(的起点和终点),而且没有任何一点会有一个以上的树洞(的起点和终点)。