编程题
### 问题描述
给定两个整数 $N$ 和 $M$。你有一个包含从 $1$ 到 $N$ 的所有整数的集合 $S$。
你还有一个大小为 $M$ 的集合 $Q$,它是集合 $S$ 的一个子集。你需要通过以下操作将集合 $S$ 转化为集合 $Q$:
- 选择一个整数 $k$,满足 $1 \leq k \leq N$,并且存在一个整数 $k$ 的倍数在集合 $S$ 中,然后从集合 $S$ 中移除最小的一个整数 $k$ 的倍数。
- 这个操作会产生一个代价 $k$。
你需要找出将集合 $S$ 转化为集合 $Q$ 所需的最大代价。
### 输入格式
第一行输入一个整数 $T$,表示测试用例的数量。
每个测试用例包含两行:
- 第一行输入两个整数 $N$ 和 $M$,分别表示集合 $S$ 和集合 $Q$ 的元素数量。
- 第二行输入 $M$ 个整数,表示集合 $Q$ 的元素。
### 输出格式
对于每个测试用例,输出一行,表示将集合 $S$ 转化为集合 $Q$ 所需的最大代价。
### 样例输入
```markdown
3
5 3
1 3 5
4 2
1 3
3 1
2
```
### 样例输出
```markdown
6
6
4
```
### 说明
- 样例中的第一个测试用例:初始时,集合 $S = \textbraceleft1, 2, 3, 4, 5\textbraceright$,我们希望将其转化为集合 $\textbraceleft1, 3, 5\textbraceright$。一种可能的做法是:
- 选择 $k = 4$,从集合 $S$ 中移除元素 $4$,代价为 $4$。
- 选择 $k = 2$,从集合 $S$ 中移除元素 $2$,代价为 $2$。
这样,总代价为 $6$。可以证明,不能得到更大的总代价。
- 样例中的第二个测试用例:初始时,集合 $S = \textbraceleft1, 2, 3, 4\textbraceright$,我们希望将其转化为集合 $\textbraceleft1, 3\textbraceright$。就像上面一样,我们可以移除元素 $2$ 和 $4$,得到总代价 $6$。
### 评测数据范围
$1 \leq T \leq 10^4$。
$1 \leq N \leq 10^9$。
$1 \leq M \leq N$。
所有测试用例中 $M$ 的和不超过 $3 \times 10^5$。