小 A 所在的城市里有一条笔直的大道。大道沿线共设有 A 个公交站和 B 个地铁站,第 i 个公交站位于距路段起点 s_i 米处,第 j 个地铁站位于距路段起点 t_j 米处。所有站点(公交与地铁)的位置两两不同。
小 A 有 Q 次出行需求。对于第 i 次出行,她从距路段起点 x_i 米的位置出发,希望至少前往一个公交站和一个地铁站(先到哪种站均可,途中经过多余的站点也没有关系)。到达两种站点各至少一次后,小 A 可以停在大道上的任意位置,不需要返回出发点。请计算每次出行所需的最短移动距离(单位:米)。
输入共 Q + 3 行。
第一行包含三个正整数 A、B、Q,分别表示公交站数、地铁站数和出行次数。
接下来 A 行,包含 A 个严格递增的正整数 s_1 < s_2 < \cdots < s_A,表示各公交站的位置。
接下来 B 行,包含 B 个严格递增的正整数 t_1 < t_2 < \cdots < t_B,表示各地铁站的位置。
接下来 Q 行,包含 Q 个正整数 x_1, x_2, \dots, x_Q,表示各次出行的出发位置。
输出共 Q 行,第 i 行输出第 i 次出行所需的最短移动距离。
2 2 3 2 8 5 10 1 6 9
4 4 3
3 1 2 1 4 7 3 2 5
2 2
6 6 8 11 23 37 59 83 107 7 19 41 61 89 131 1 12 20 50 60 90 120 140
10 5 5 11 3 7 31 33
公交站位于 2、8 米处,地铁站位于 5、10 米处。
对于所有测试数据,保证:1 \leq A,\ B \leq 10^5,1 \leq Q \leq 10^5,1 \leq s_1 < s_2 < \cdots < s_A \leq 10^{10},1 \leq t_1 < t_2 < \cdots < t_B \leq 10^{10},1 \leq x_i \leq 10^{10}。
测试数据保证,所有 s_i、t_j、x_i 互不相同;所有输入值均为整数。
| 测试点编号 | A,B,Q |
|---|---|
| 1 \sim 2 | A=1,\ B=1,\ Q\le 3 |
| 3 | A=4,\ B=1,\ Q=6 |
| 4 \sim 6 | A,B,Q \le 10 |
| 7 \sim 10 | 1 \le A,B,Q \le 100000 |