#include <bits/stdc++.h>
#define rep(i, a) for (int i = 0; i < (a); i++)
#define rep2(i, a, b) for (int i = (a); i < (b); i++)
#define repr(i, a) for (int i = (a) - 1; i >= 0; i--)
#define repr2(i, a, b) for (int i = (b) - 1; i >= (a); i--)
using namespace std;
typedef long long ll;
const ll inf = 1e9;
const ll mod = 1e9 + 7;

int N, a[100], score[100];

int main() {
    cin >> N;
    rep (i, N) cin >> a[i];
    int K = 0;
    rep (i, N) {
        int b;
        cin >> b;
        if (b == 0) {
            K += a[i];
        } else {
            b--;
            score[b] += a[i];
        }
    }

    int maxv = *max_element(score, score + 100);

    if (K >= maxv) {
        cout << "YES" << endl;
    } else {
        cout << "NO" << endl;
    }
}