#include <bits/stdc++.h>
 
using namespace std;
 
int main() {int N;cin>>N;
            vector<long long>A(N),B(N);
            for(int i=0;i<N;i++)
              cin>>A.at(i);
            for(int i=0;i<N;i++)
              cin>>B.at(i);
            long long c=0;
            int d=0;
            for(int i=0;i<N;i++)
              {d=max<long long>(d,A.at(i));
               c=max(c,d*B.at(i));
              cout<<c<<endl;}
 
}
#include <bits/stdc++.h>

using namespace std;

int main(){
    int n;
    cin >> n;
    vector<int64_t> A(n), B(n);
    copy_n(istream_iterator<int64_t>(cin), n, A.begin());
    copy_n(istream_iterator<int64_t>(cin), n, B.begin());

    int64_t ma = 1, mab = 1;
    for (int i = 0; i < n; i++){
        ma = max(ma, A[i]);
        mab = max(mab, ma * B[i]);
        cout << mab << "\n";
    }
}