A tea manufacturer decided to conduct a massive tea tasting. $n$ sorts of tea will be tasted by $n$ tasters. Both the sorts of tea and the tasters are numbered from $1$ to $n$. The manufacturer prepared $a_i$ milliliters of the $i$-th sort of tea. The $j$-th taster can drink $b_j$ milliliters of tea at once.

The tasting will be conducted in steps. During the first step, the $i$-th taster tastes the $i$-th sort of tea. The $i$-th taster drinks $\min(a_i, b_i)$ tea (how much is available of the $i$-th sort and how much the $i$-th taster can drink). $a_i$ also decreases by this amount.

Then all tasters move to the previous sort of tea. Thus, during the second step, the $i$-th taster tastes the $(i-1)$-st sort of tea. The $i$-th taster drinks $\min(a_{i-1}, b_i)$ tea. The $1$-st person ends the tasting.

During the third step, the $i$-th taster tastes the $(i-2)$-nd sort of tea. The $2$-nd taster ends the tasting. This goes on until everyone ends the tasting.

Take a look at the tasting process for $n = 3$, $a = [10, 20, 15]$, $b = [9, 8, 6]$. In the left row, there are the current amounts of each sort of tea. In the right column, there are current amounts of tea each taster has drunk in total. The arrow tells which taster each tea goes to on the current step. The number on the arrow is the amount — minimum of how much is available of the sort of tea and how much the taster can drink.

For each taster, print how many milliliters of tea he/she will drink in total.


-----Input-----

The first line contains a single integer $t$ ($1 \le t \le 10^4$) — the number of testcases.

The first line of each testcase contains a single integer $n$ ($1 \le n \le 2 \cdot 10^5$) — the number of sorts of tea and the number of tasters.

The second line contains $n$ integers $a_1, a_2, \dots, a_n$ ($1 \le a_i \le 10^9$) — the amount of each sort of tea.

The third line contains $n$ integers $b_1, b_2, \dots, b_n$ ($1 \le b_i \le 10^9$) — the amount of tea each taster can drink at once.

The sum of $n$ over all testcases doesn't exceed $2 \cdot 10^5$.


-----Output-----

For each testcase, print $n$ integers — the $i$-th value should be equal to the total amount of tea the $i$-th taster will drink.


-----Examples-----

Input
4
3
10 20 15
9 8 6
1
5
7
4
13 8 5 4
3 4 2 1
3
1000000000 1000000000 1000000000
1 1 1000000000
Output
9 9 12 
5 
3 8 6 4 
1 2 2999999997


-----Note-----

The first testcase is described in the statement. Here are the remaining amounts of each sort of tea after each step and the total amount of tea each taster has drunk:

$a = [1, 12, 9]$, $\mathit{ans} = [9, 8, 6]$

$a = [0, 6, 9]$, $\mathit{ans} = [9, 9, 12]$

$a = [0, 6, 9]$, $\mathit{ans} = [9, 9, 12]$

In the second testcase, the only taster drinks $\min(5, 7)$ milliliters of tea of the only sort.

Here are the remaining amounts of each sort of tea after each step and the total amount of tea each taster has drunk for the third testcase:

$a = [10, 4, 3, 3]$, $\mathit{ans} = [3, 4, 2, 1]$;

$a = [6, 2, 2, 3]$, $\mathit{ans} = [3, 8, 4, 2]$;

$a = [4, 1, 2, 3]$, $\mathit{ans} = [3, 8, 6, 3]$;

$a = [3, 1, 2, 3]$, $\mathit{ans} = [3, 8, 6, 4]$.

Here are the remaining amounts of each sort of tea after each step and the total amount of tea each taster has drunk for the fourth testcase:

$a = [999999999, 999999999, 0]$, $\mathit{ans} = [1, 1, 1000000000]$;

$a = [999999998, 0, 0]$, $\mathit{ans} = [1, 2, 1999999999]$;

$a = [0, 0, 0]$, $\mathit{ans} = [1, 2, 2999999997]$.

Difficulty: MEDIUM

Solutions:
import bisect
t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	b = list(map(int, input().split()))
	sum = [0] * (n + 1)
	for i in range(n):
		sum[i + 1] = sum[i] + b[i]
	cnt = [0] * (n + 1)
	add = [0] * (n + 1)
	for i in range(n):
		j = bisect.bisect_right(sum, a[i] + sum[i]) - 1
		cnt[i] += 1
		cnt[j] -= 1
		add[j] += a[i] - sum[j] + sum[i]
	cum_cnt = 0
	for i in range(n):
		cum_cnt += cnt[i]
		print(cum_cnt * b[i] + add[i], end=' ')
	print()


import bisect
t = int(input())
for _ in range(t):
	n = int(input())
	tea = list(map(int, input().split(' ')))
	tasters = list(map(int, input().split(' ')))
	diff = [0] * (n + 1)
	extra = [0] * (n + 1)
	psum = [0] * n
	psum[0] = tasters[0]
	prefixSumLt = 0
	prefixSumRt = 0
	for i in range(1, n):
		psum[i] = psum[i - 1] + tasters[i]
	for i in range(n):
		if i > 0:
			prefixSumLt = psum[i - 1]
		j = bisect.bisect_right(psum, tea[i] + prefixSumLt)
		if j > 0:
			prefixSumRt = psum[j - 1]
		diff[j] -= 1
		diff[i] += 1
		extra[j] += tea[i] - (prefixSumRt - prefixSumLt)
	for i in range(1, n):
		diff[i] += diff[i - 1]
	for i in range(0, n):
		print(extra[i] + diff[i] * tasters[i], end=' ')
	print()


import sys
input = sys.stdin.readline

def sol(n, a, b):
	b = b[::-1]
	a = a[::-1]
	pre = [0]
	res = [0] * n
	plus = [0] * (n + 2)
	for i in b:
		pre.append(pre[-1] + i)
	for i in range(n):
		l = 0
		r = i + 1
		while l <= r:
			mid = l + r >> 1
			if pre[i + 1] - pre[mid] <= a[i]:
				r = mid - 1
			else:
				l = mid + 1
		plus[i + 1] -= 1
		plus[l] += 1
		if l:
			res[l - 1] += a[i] - (pre[i + 1] - pre[l])
	pre2 = [0]
	for i in plus:
		pre2.append(pre2[-1] + i)
	for i in range(n):
		res[i] += b[i] * pre2[i + 1]
	for i in res[::-1]:
		print(i, end=' ')
	print()
t = int(input())
for case in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	b = list(map(int, input().split()))
	sol(n, a, b)


class solution(object):

	def solve(n):
		a = input().split()
		for i in range(n):
			a[i] = int(a[i])
		b = input().split()
		for i in range(n):
			b[i] = int(b[i])
		Sum = [b[i] for i in range(n)]
		for i in range(1, n):
			Sum[i] = Sum[i - 1] + b[i]
		ans = [0] * n
		tag = [0] * n
		lpos = 0
		rpos = 0
		mid = 0
		Base = 0
		res = 0
		for i in range(n):
			lpos = i
			rpos = n - 1
			mid = i
			res = 0
			pos = i - 1
			while lpos <= rpos:
				mid = (lpos + rpos) // 2
				if Sum[mid] - Base < a[i]:
					lpos = mid + 1
					pos = mid
				else:
					rpos = mid - 1
			if pos >= 0:
				res = a[i] - (Sum[pos] - Base)
			else:
				res = a[i]
			if pos < n - 1:
				ans[pos + 1] += res
				tag[pos + 1] += 1
			Base = Sum[i]
		nw = 0
		for i in range(n):
			nw += 1 - tag[i]
			ans[i] += nw * b[i]
		for i in range(n):
			print(ans[i], end=' ')
		print('')
		return
T = int(input())
for t in range(T):
	solution.solve(int(input()))