#P16280. [Ucpc2020]奶牛过马路的原因

[Ucpc2020]奶牛过马路的原因

题目描述

农夫约翰的牧场中有一条很宽的道路,道路所在区域满足

0<y<L.0<y<L.

道路两侧各有一些牛棚,且所有牛棚的位置互不相同。

道路上方共有 NN 个牛棚,第 ii 个牛棚位于

(Ui,L).(U_i,L).

道路下方共有 MM 个牛棚,第 jj 个牛棚位于

(Dj,0).(D_j,0).

为了避免奶牛随意过马路,农夫约翰在路上挖了许多坑。后来奶牛发现,被蜜蜂蜇到后可以短暂飞行,于是它们又开始在道路两侧来回飞行。

奶牛在空中无法改变方向。为了防止奶牛相撞,贝茜需要设计一组满足下列条件的航线:

  1. 每条航线都是连接一个上方牛棚和一个下方牛棚的线段;
  2. 一共恰好修建 N+M1N+M-1 条航线;
  3. 所有牛棚通过这些航线连通;
  4. 任意两条航线不能在牛棚以外的位置相交。

奶牛沿一条航线飞行时,消耗的体力等于该航线长度的平方。若连续经过多条航线,则消耗的体力为各段航线长度平方之和。

对于任意两个牛棚,定义它们之间的距离为:只沿航线从一个牛棚到达另一个牛棚所需的最小体力。

贝茜希望使所有无序牛棚对之间的距离总和尽可能小。请计算这个最小值。

输入格式

第一行包含三个整数 N,M,LN,M,L,分别表示道路上方牛棚数、道路下方牛棚数和道路宽度。

1N,M3000,1L30000.1\le N,M\le 3000, \qquad 1\le L\le 30000.

第二行包含 NN 个严格递增的整数

U1,U2,,UN,U_1,U_2,\ldots,U_N,

表示上方牛棚的横坐标。

第三行包含 MM 个严格递增的整数

D1,D2,,DM,D_1,D_2,\ldots,D_M,

表示下方牛棚的横坐标。

所有横坐标均为 003000030000 之间的整数。

输出格式

输出一个整数,表示最优航线方案下,所有牛棚对之间距离的最小总和。

样例

输入

3 2 1
1 3 5
2 4

输出

40