Alice likes snow a lot! Unfortunately, this year's winter is already over, and she can't expect to have any more of it. Bob has thus bought her a gift — a large snow maker. He plans to make some amount of snow every day. On day *i* he will make a pile of snow of volume *V*<sub class="lower-index">*i*</sub> and put it in her garden.

Each day, every pile will shrink a little due to melting. More precisely, when the temperature on a given day is *T*<sub class="lower-index">*i*</sub>, each pile will reduce its volume by *T*<sub class="lower-index">*i*</sub>. If this would reduce the volume of a pile to or below zero, it disappears forever. All snow piles are independent of each other. 

Note that the pile made on day *i* already loses part of its volume on the same day. In an extreme case, this may mean that there are no piles left at the end of a particular day.

You are given the initial pile sizes and the temperature on each day. Determine the total volume of snow melted on each day.
The first line contains a single integer *N* (1 ≤ *N* ≤ 10<sup class="upper-index">5</sup>) — the number of days. 

The second line contains *N* integers *V*<sub class="lower-index">1</sub>, *V*<sub class="lower-index">2</sub>, ..., *V*<sub class="lower-index">*N*</sub> (0 ≤ *V*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">9</sup>), where *V*<sub class="lower-index">*i*</sub> is the initial size of a snow pile made on the day *i*.

The third line contains *N* integers *T*<sub class="lower-index">1</sub>, *T*<sub class="lower-index">2</sub>, ..., *T*<sub class="lower-index">*N*</sub> (0 ≤ *T*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">9</sup>), where *T*<sub class="lower-index">*i*</sub> is the temperature on the day *i*.
In the first sample, Bob first makes a snow pile of volume 10, which melts to the size of 5 on the same day. On the second day, he makes another pile of size 10. Since it is a bit warmer than the day before, the first pile disappears completely while the second pile shrinks to 3. At the end of the second day, he has only a single pile of size 3. On the third day he makes a smaller pile than usual, but as the temperature dropped too, both piles survive till the end of the day.
3
10 10 5
5 7 2
5 12 4
5
30 25 20 15 10
9 10 12 4 13
9 20 35 11 25
4
0 0 0 0
1 2 3 4
0 0 0 0
10
11 39 16 34 25 3 12 11 31 16
10 0 4 9 8 9 7 8 9 2
10 0 9 27 27 30 28 17 12 4
10
20 35 4 0 6 29 4 9 17 10
0 9 4 7 5 1 4 3 9 4
0 18 12 14 10 3 12 9 26 12
1
4
5
4
1
5
4
4
1
5
5
5
2
9 3
8 2
8 3
2
9 3
4 4
4 7
2
9 3
10 2
9 2
13
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
 ######      ###      #######    #######    ##      #     #####        ###     ##### 
 #     #    #   #          #        #       # #     #    #     #      #   #     ###  
 #     #   #     #        #         #       #  #    #   #       #    #     #    ###  
 ######   #########      #          #       #   #   #   #           #########    #   
 ######   #########     #           #       #    #  #   #           #########    #   
 #     #  #       #    #            #       #     # #   #    ####   #       #    #   
 #     #  #       #   #             #       #      ##   #    #  #   #       #        
 ######   #       #  #######     #######    #       #    #####  #   #       #    #   
 
from __future__ import print_function # for PyPy2
from itertools import permutations as perm
# from fractions import Fraction
from collections import *
from sys import stdin
from bisect import *
from heapq import *
from math import *
 
g   = lambda : stdin.readline().strip()
gl  = lambda : g().split()
gil = lambda : [int(var) for var in gl()]
gfl = lambda : [float(var) for var in gl()]
gcl = lambda : list(g())
gbs = lambda : [int(var) for var in g()]
mod = int(1e9)+7
inf = float("inf")

n, = gil()
a, t = gil(), gil()
pre = t[:]
for i in range(1, n):
	pre[i] += pre[i-1]

def getSum(l, r):
	v = pre[r]
	if l: v -= pre[l-1]
	return v

c = [0]*n
f = [0]*n
for l in range(n):
	# cal r such that a[l] >= sum(l, r)
	if a[l] <= t[l]:
		c[l] += a[l]
	else:
		f[l] += 1
		li, ri = l, n-1
		R = l
		while li <= ri:
			mid = (li+ri)//2
			if a[l] >= getSum(l, mid):
				R = mid
				li = mid + 1
			else:
				ri = mid - 1

		# print(l, R)
		if R+1 < n:
			c[R+1] += max(0, a[l]-getSum(l, R))
			f[R+1] -= 1

for i in range(1, n):
	f[i] += f[i-1]

for i in range(n):
	f[i] *= t[i]
	f[i] += c[i]
# prev = 0
# for i in range(1, n):
# 	f[i] += prev
# 	prev = f[i]
# 	f[i] *= t[i]
# 	f[i] += c[i]

print(*f, sep=' ')
# print(*c, sep=' ')
