小苯的序列极值
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小红有个长度为 n 的序列 a,小苯取出了 a 中所有的二元组,并用这些二元组作差的绝对值构成了一个新的序列 b

\hspace{15pt}形式化的,对于所有的 i, j\ (1 \leqq i<j \leqq n),小苯都将 |a_i-a_j| 加入了序列 b。(其中 |x| 表示 x 的绝对值。)

\hspace{15pt}他想知道 b 序列中的最大值是多少,但由于 b 序列太长了他并不会求,因此你的任务便是帮他求出 b 序列的最大值。

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\ (1\leqq T\leqq 10^5) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}第一行一个正整数 n\ (2 \leqq n \leqq 3 \times 10^5),表示序列 a 的长度。
\hspace{15pt}第二行 n 个正整数 a_i\ (1 \leqq a_i \leqq 10^9),表示序列 a

\hspace{15pt}除此之外,保证单个测试文件的 n 之和不超过 3 \times 10^5

输出描述:

对于每组测试数据:
\hspace{15pt}在单独的一行输出一个整数,表示 b 序列中的最大值。
示例1

输入

复制
2
3
1 2 3
4
1 1 1 1

输出

复制
2
0

说明

\hspace{15pt}对于第一组测试数据,a=\{1,2,3\},则 b=\{|1-2|,|1-3|,|2-3|\}=\{1,2,1\},因此 b 的最大值为 2