#P1210. 分拆数

分拆数

题目描述

给定一个集合 AA,你可以将它拆成两个不交的非空子集 B,CB,C,求所有的分拆方法中,gcd⁡B+gcd⁡C\gcd B + \gcd C 的最大值。

例如:假设 A={1,2,3,4,5}A = \{1,2,3,4,5\},那么 B={1,3,5},C={2,4}B = \{1,3,5\},C = \{2,4\} 是其中一种拆分方案,而 B={1,2,3},C={3,4,5}B=\{1,2,3\},C=\{3,4,5\} 和 B=∅,C={1,2,3,4,5}B = \varnothing,C = \{1,2,3,4,5\} 不是。

输入格式

第一行一个正整数 TT,代表数据组数。接下来 TT 组数据,每组数据的格式如下:

  • 第一行一个正整数 nn,代表集合 AA 的大小;
  • 接下来一行 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n,代表集合 AA 的元素,保证元素互不相同。

输出格式

对于每组数据,输出一个整数,代表 gcd⁡B+gcd⁡C\gcd B + \gcd C 的最大值。

1
4
1 3 5 7
8

数据范围

  • 对于 30%30\% 的数据,T≤10T \le 10,n≤20n \le 20;
  • 对于另外 30%30\% 的数据,ai≤10a_i \le 10;
  • 对于 100%100\% 的数据,1≤T≤1041 \le T \le 10^4,2≤n,∑n≤2⋅1052 \le n,\sum n \le 2 \cdot 10^5,1≤ai≤1091 \le a_i \le 10^9,保证 aia_i 互不相同。