#include <bits/stdc++.h>

using namespace std;

namespace {

    typedef double real;
    typedef long long ll;

    template<class T> ostream& operator<<(ostream& os, const vector<T>& vs) {
        if (vs.empty()) return os << "[]";
        os << "[" << vs[0];
        for (int i = 1; i < vs.size(); i++) os << " " << vs[i];
        return os << "]";
    }
    template<class T> istream& operator>>(istream& is, vector<T>& vs) {
        for (auto it = vs.begin(); it != vs.end(); it++) is >> *it;
        return is;
    }

    int N, M;
    vector<ll> A, B, C;
    void input() {
        cin >> N;
        A.clear(); A.resize(N); cin >> A;
        cin >> M;
        B.clear(); B.resize(M); cin >> B;
        C.clear(); C.resize(M); cin >> C;
    }

    void solve() {
        sort(A.begin(), A.end());
        vector<ll> sum(N + 1, 0);
        for (int i = 0; i < N; i++) {
            sum[i + 1] = sum[i] + A[i];
        }
        //cout << sum << endl;
        for (int i = 0; i < M; i++) {
            ll x = B[i];
            int index = upper_bound(A.begin(), A.end(), x) - A.begin();
            //cout << a << " " << index << " -> ";
            cout << (sum[index] >= C[i] ? "Yes" : "No") << endl;
        }
    }
}

int main() {
    input(); solve();
    return 0;
}