#include<cstdio>
struct intfind
{
int n;
int p;
}a[100005],t;
void C_sort(int p)
{
for(int i=1;i<p;i++){
for(int j=i+1;i<=p;p++){
if(a[i].p<a[j].p){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
}
int e,b,c,d;
using namespace std;
int main()
{
int k;
scanf("%d",&k);
for(int i=0;i<=k-1;i++){
scanf("%d",&a[i].n);
}
for(int i=0;i<=k-1;i++){
scanf("%d",&a[i].p);
}
Choose_sort(k);
for(int i=1;i<=k;i++){
if(2*a[i].n+a[i].p>e){
e=2*a[i].n+a[i].p;
b=c=i;
}
d+=e;
printf("%d\n",d);}
for(int i=1;i<=k;i++){
if(i==c){
continue;
}
if(a[b].n<a[i].n){
d=d-2*a[b].n+2*a[i].n+a[i].p;
b=i;
printf("%d\n",d);
}else{
d+=a[i].p;
printf("%d\n",d);
}
}
return 0;
}