又是一年毕业季
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

又是一年一度的毕业季,一群学生准备去拍摄毕业照。

具体来说,一共有 \mathrm{n} 个同学共同参与拍照,第 \mathrm{i} 个学生两次眨眼的时间间隔为 \mathrm{a_i} 。在拍照开始前,我们可以认为所有人在第 \mathrm{0} 秒都眨了一次眼。

由于调整相机需要一定的时间,因此在最初的2秒内不能进行拍照(需要保证拍照的时刻 \mathrm{x \ge 2})。请计算,为了确保每个人的眼睛都处于睁开状态,至少需要等待多少秒后才能进行拍照。

输入描述:

第一行给出一个整数 \mathrm{T}(\mathrm{1 \le T \le 5 \times 10^4}) ,表示数据组数。

对于每组测试数据,第一行给出一个整数 \mathrm{n}(\mathrm{1 \le n \le 2\times 10^5},\mathrm{\sum n \le 2\times 10^5}),表示总人数。第二行给出 \mathrm{n} 个整数 \mathrm{a_i}(\mathrm{2 \le a_i \le 10^9}),依次表示每个人两次眨眼的间隔时间。

输出描述:

每组测试数据输出一个整数,表示最小等待时间。
示例1

输入

复制
3
4
2 4 6 5
5
6 2 5 3 2333333
8
11 4 5 14 19 19 8 10

输出

复制
3
7
2