#1650. 线段覆盖

线段覆盖

Background

Special for beginners, ^_^

Description

如果一个点在一条线段上(包括这个点是线段端点的情况),我们说“这条线段覆盖了这个点”。

现有个在一条水平直线上排列的点,请你编写程序计算一下:如果用3条线段覆盖所有的点(起点终点都是整数),这3条线段的长度之和最小是多少?

注意:既然说是3条,当然就不允许某两条是首尾相接的,否则就是2条了,而且,任何线段的长度都要大于0。

Format

Input

本题包含多组测试例。

对于每组测试例:

第一行为整数n(≤10000),表示点的数量。

第二行有n-1个正整数,表示其它各点到最左端的点的距离。已知这些整数都不会超过int。

每个测试点的n求和不超过1e6。

Output

每行一个整数,表示用3条线段覆盖所有点时,其长度之和的最小值。

Samples

6
1 4 10 15 17
6
1 2 3 4 5
7
3

Limitation

1s, 1024KiB for each test case.