#1204. lfq的摸金大结局

lfq的摸金大结局

背景

摸金系列终于在今天迎来了大结局。

问题描述

lfq正在创办自己的 IT 公司。他想要雇佣 n 名程序员和 m 名测试员。

总共有 n+m+1 名候选人,按照他们的到达时间先后顺序编号为 1 到 n+m+1。第 i 名候选人拥有编程技能 aia_i 和测试技能 bib_i(一个人的编程技能不同于其测试技能)。团队的技能值等于所有被聘为程序员的候选人的编程技能之和,加上所有被聘为测试员的候选人的测试技能之和。

当一名候选人来参加面试时,lfq 会尝试将他们分配到最适合的职位(如果他们的编程技能更高,则雇佣他们为程序员,否则雇佣为测试员)。如果该职位的名额已满,lfq 则将他们分配到另一个职位。

你的任务是,对于每一位候选人,计算如果除他之外的所有人都来参加面试时团队的技能值。注意,这意味着恰好有 n+m 名候选人会到场,因此公司中的所有 n+m 个职位都将被填满。

输入格式

第一行包含一个整数 t (1 ≤ t ≤ 10410^4) — 测试用例的数量。

每个测试用例包含三行:

  • 第一行包含两个整数 n 和 m (0 ≤ n, m ≤2105 2·10^5; 2 ≤ n+m+1 ≤ 21052·10^5) — 分别表示 lfq 想要雇佣的程序员和测试员的数量。
  • 第二行包含 n+m+1 个整数 a1a_1, a2a_2, ..., an+m+1a_{n+m+1} (1 ≤ aia_i10910^9),其中 aia_i 是第 i 名候选人的编程技能。
  • 第三行包含 n+m+1 个整数 b1b_1, b2b_2, ..., bn+m+1b_{n+m+1} (1 ≤ bi ≤ 10910^9; bi ≠ ai),其中 bib_i 是第 i 名候选人的测试技能。

输入数据的额外限制:所有测试用例的 (n+m+1) 总和不超过 21052·10^5

输出格式

对于每个测试用例,输出 n+m+1 个整数,其中第 i 个整数应该等于如果除第 i 名候选人之外的所有人都来面试时团队的技能值。

Samples

4
1 0
2 1
1 2
0 2
4 5 5
5 4 1
1 2
2 1 5 4
5 2 3 1
3 1
4 3 3 4 1
5 5 4 5 2
1 2 
5 6 9 
8 11 11 12 
13 13 13 12 15

注意

让我们来考虑示例中的第三个测试用例:

  • 如果第 1 位候选人未到场,则第 2 位候选人被聘为测试员,第 3 位候选人被聘为程序员,第 4 位候选人被聘为测试员。团队的总技能值将为 2+5+1=8 2 + 5 + 1 = 8
  • 如果第 2 位候选人未到场,则第 1 位候选人被聘为测试员,第 3 位候选人被聘为程序员,第 4 位候选人被聘为测试员。团队的总技能值将为 5+5+1=11 5 + 5 + 1 = 11
  • 如果第 3 位候选人未到场,则第 1 位候选人被聘为测试员,第 2 位候选人被聘为测试员,第 4 位候选人被聘为程序员。团队的总技能值将为 5+2+4=11 5 + 2 + 4 = 11
  • 如果第 4 位候选人未到场,则第 1 位候选人被聘为测试员,第 2 位候选人被聘为测试员,第 3 位候选人被聘为程序员。团队的总技能值将为 5+2+5=12 5 + 2 + 5 = 12

Limitation

1s, 1024KiB for each test case.