#29. 波奇酱的期末周

波奇酱的期末周

题目背景

期末周的临近,波奇酱为了举办“期末周冰红茶品鉴会”买了一箱冰红茶...

题目描述

波奇酱买来了 nn 种冰红茶,同时也邀请了 nn 位同学一起参加冰红茶品鉴大会。

冰红茶从 11nn 编号,第 ii 种冰红茶每喝 11 毫升可以获得 viv_i 点快乐值,初始有 aia_i 毫升。

同学们也从 11nn 编号,第 ii 位同学在每一轮品鉴中最多可以饮用 bib_i 毫升的冰红茶。

品鉴大会将持续进行 nn 轮。在第 xx 轮中,第 yy 位同学将尝试饮用编号为 y+1xy+1-x 的冰红茶(即本轮该同学目标饮用的冰红茶编号为 y+1xy+1-xy+1x0 y+1-x \leq 0 本轮第 y y 位同学不会饮用任何冰红茶)。

具体规则如下:

  • 如果该同学本轮的目标冰红茶还剩余容量 >0> 0,他会尽量饮用至多 byb_y 毫升(即:min(by,at)\min(b_y, a_t),其中 t=y+1xt = y+1-x)。
  • 实际饮用的毫升数会从对应的冰红茶中扣除。
  • 每喝 11 毫升,该同学获得对应冰红茶的 vtv_t 点快乐值。
  • 若冰红茶已被喝完(容量为 00),该轮该同学不会获得任何快乐值。

请你帮助波奇酱计算出 nn 轮品鉴大会结束后,每位同学所获得的总快乐值。

输入格式

第一行包含一个整数 t(1t2×105) t (1 \leq t \leq 2 \times 10^5) ,表示有 t t 组测试数据。

对于每组测试数据,第一行包含一个整数 n(1n2×105) n (1 \leq n \leq 2 \times 10^5) ,表示有 n n 种冰红茶,n n 位同学。

第二行包含 n n 个整数,第 i i 个整数表示第 i i 种冰红茶的快乐值 vi(1vi2×105) v_i (1 \leq v_i \leq 2 \times 10^5)

第三行包含 n n 个整数,第 i i 个整数表示第 i i 种冰红茶的容量 ai(1ai2×105) a_i(1 \leq a_i \leq 2 \times 10^5)

第四行包含 n n 个整数,第 i i 个整数表示第 i i 位同学一轮中最多能喝 bi(1bi2×105) b_i (1 \leq b_i \leq 2 \times 10^5) 毫升。

保证对于一个测试点的所有 n n 的总和不超过 2×105 2 \times 10^5

输出格式

每组测试数据输出一行,包含 n n 个整数,第 i i 个整数表示第 i i 位同学在 n n 轮品鉴后的最终快乐值。

输入输出样例 #1

输入 #1

1
3
1 2 3
2 3 4
1 2 3

输出 #1

1 5 11