Problem2627--点与距离

2627: 点与距离

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MiB

Description

给你一个长度为 2n 的整数序列 a。您必须将这些 2n 个整数拆分成 n 对;每对代表平面上一个点的坐标。序列 a 中的每个数字都应成为一个点的 xy 坐标。注意,有些点可能是相等的。

在这些点形成之后,你必须选择一条 s 路径,从其中一个点出发,在其中一个点结束,并且至少访问所有 n 个点一次。

路径 s 的长度是路径上所有相邻点之间的距离之和。在这个问题中,两点 (x1, y1)(x2, y2) 之间的距离定义为 |x1 - x2| + |y1 - y2|

你的任务是组成 n 个点,并选择一条路径 s,使路径 s 的长度最小。

Input

第一行包含一个整数 t1 ≤ t ≤ 100)——测试用例的数量。

每个测试用例的第一行包含一个整数 n2 ≤ n ≤ 100)——要形成的点的个数。

下一行包含 2n 个整数 a1, a2, ..., a2n0 ≤ ai ≤ 1,000)——序列 a 的描述。

Output

对于每个测试用例,在第一行打印路径 s 的最小可能长度。

Sample Input Copy

2
2
15 1 10 5
3
10 30 20 20 30 10

Sample Output Copy

9
20

HINT

注释部分

注释

例如,在第一个测试案例中,可以形成点 (10, 1)(15, 5),并从第一个点开始绘制路径 s,在第二个点结束。那么路径的长度就是:

|10 - 15| + |1 - 5| = 5 + 4 = 9

在第二个测试案例中,你可以将点 (20, 20)(10, 30)(10, 30) 构成路径,并按照准确的顺序访问它们。那么路径的长度就是:

|20 - 10| + |20 - 30| + |10 - 10| + |30 - 30| = 10 + 10 + 0 + 0 = 20

Source/Category