C1788 [Contest #12]Bus Station

内存限制:256 MB 时间限制:1000 ms

题目描述

有$m$个公交站,从左到右标号为$1$到$m$。总共开通了$n_1+n_2$趟公交。其中前$n_1$趟公交是从$1$号公交站出发一直开到$m$号公交站,后$n_2$趟公交从$m$号公交站出发一直开到$1$号公交站。第$j$ ($1 \le j \le n_1 + n_2$)趟从$i$号公交站出发或者到达$i$号公交站的时间为$x_{i,j}$,你可以认为公交车到达公交站后马上会出发,上车所花的时间可以忽略不计。

你和朋友约好在$s$号公交站见面,你在$t_1$时刻到达,你的朋友会在$t_2$时刻到达。由于公交站都是露天的,你不希望在外面等你的朋友。于是你决定在朋友来之前乘上一趟公交,之后任意换乘公交,最后在不超过$t_2$的时候回到$s$号公交站。求出你最少需要花多少时间在外面,包括在$s$号公交站等你朋友和在公交站等待换乘其他公交所花的时间。

假设你在$a$时刻在某个公交站,$b$时刻有趟公交到达了这个公交站,那么只要$a \le b$,你就可以换成到这趟公交上。

输入格式

输入有多组数据。第一行有一个整数$T$,表示测试数据组数。然后对于每组数据:

第一行包含$6$个整数$m$,$n_1$,$n_2$,$s$,$t_1$和$t_2$ ($1 \le m(n_1+n_2) \le 10^6, n_1, n_2 \ge 1, m \ge 2, 1 \le s \le m, 1 \le t_1 \le t_2 \le 10^9$),含义如题所述。

接下来$m$行,每行$n_1+n_2$个整数$x_{i,1}, x_{i,2}, \dots, x_{i,n_1+n_2}$ ($1 \le x_{i,j} \le 10^9$),含义如题所述。

对于前$n_1$趟公交,有$1 \le x_{1,j} < x_{2,j} < \dots < x_{m, j} \le 10^9$ ($1 \le j \le n_1$);对于后$n_2$趟公交,有$1 \le x_{m,j} < x_{m-1,j} < \dots < x_{1, j} \le 10^9$ ($n_1 < j \le n_1+n_2$)。

保证所有数据中$m(n_1+n_2)$的和不超过$10^6$。

输出

对于每组数据,输出一个整数表示在外面所花的时间的最小值。

样例

样例输入 1

2 3 1 2 2 1 11 1 9 11 4 5 9 6 4 8 3 1 2 1 1 11 1 11 12 4 10 9 6 4 8

样例输出 1

7 3

提示