#joi2009hob. [joi2009ho_b]ピザ

[joi2009ho_b]ピザ

翻译结果如下:

JOI ピザ在环状线上全长为dd米的道路上提供披萨外卖服务。

JOI ピザ在环状线上设有nn个店铺S1,ldots,SnS_1, \\ldots, S_n。本店位于S1S_1。假设从S1S_1SiS_i按顺时针方向行驶,沿途距离为did_i米。d2,ldots,dnd_2, \\ldots, d_n是介于1和d1d-1之间的整数,且d2,ldots,dnd_2, \\ldots, d_n都不相同。

当收到披萨订单时,为了确保披萨不变凉,会选择距离配送地点最近的店铺烘焙并提供宅配服务。

配送地点的位置由介于0和d1d-1之间的整数kk表示。这意味着从本店S1S_1按顺时针方向到达配送地点的距离为kk米。披萨的宅配沿着环状线进行,不允许经过其他路径。然而,在环状线上可以按顺时针或逆时针移动。

例如,如果店铺的位置和宅配地点如下图所示(该示例对应于“输入输出示例”中的示例1)。

e7d15f9acc0ef6dedc9a6b1978f6b221.png

距离配送地点1最近的店铺是S2S_2,所以从店铺S2S_2提供宅配服务。此时,从店铺到配送地点的移动距离为1米。同样,距离配送地点2最近的店铺是S1S_1(即本店),所以从店铺S1S_1(本店)提供宅配服务。此时,从店铺到配送地点的移动距离为2米。

给定环状线的全长dd、JOI ピザ的店铺数量nn、订单数量mm、除了本店外的n1n-1个整数d2,ldots,dnd_2, \\ldots, d_n表示店铺位置、以及mm个整数k1,k2,ldots,kmk_1, k_2, \\ldots, k_m表示配送地点,编写一个程序来计算每个订单的宅配移动距离(即从最近的店铺到配送地点的距离)的总和。


输入

第一行包含一个正整数dd,表示环状线的全长(2leqqdleqq1,000,000,000=1092 \\leqq d \\leqq 1\\,000\\,000\\,000 = 10^9); 第二行包含一个正整数nn,表示店铺的数量(2leqqnleqq100,0002 \\leqq n \\leqq 100\\,000); 第三行包含一个正整数mm,表示订单的数量(1leqqmleqq10,0001 \\leqq m \\leqq 10\\,000); 从第四行开始的n1n-1行,每行包含一个整数d2,d3,ldots,dnd_2, d_3, \\ldots, d_n (1leqqdileqqd11 \\leqq d_i \\leqq d - 1),按顺序表示除了本店外的各个店铺的位置; 从第n+3n+3行开始的mm行,每行包含一个整数k1,k2,ldots,kmk_1, k_2, \\ldots, k_m (0leqqkileqqd10 \\leqq k_i \\leqq d - 1),按顺序表示配送地点。

在评分数据中,对于40%的数据,满足nleqq10,000n \\leqq 10\\,000。此外,对于另外40%的数据,移动距离总和和dd的值都不超过1,000,0001\\,000\\,000。此外,对于所有评分数据,移动距离总和不超过1,000,000,000=1091\\,000\\,000\\,000 = 10^9

输出

输出为一个整数,表示宅配时的移动距离总和,占一行。


示例1

8
3
2
3
1
4
6

输出示例1

3

示例2

20
4
4
12
8
16
7
7
11
8

输出示例2

3