#include<iostream>
#include<algorithm>
#include <vector>
#include<cmath>
#include<iomanip>
using namespace std;
typedef long long int lont;
int main() {
	int N;
	cin >> N;
	vector<int>veca(N);
	vector<int>vecb(N);
	int pnt = 0;
	for (int ia = 0; ia < N; ia++) {
		cin >> veca.at(ia);
	}
	for (int ib = 0; ib < N; ib++) {
		cin >> vecb.at(ib);
	}
	vector<int>vecc(100);
	for (int ic = 0; ic < N; ic++) {
		if (vecb.at(ic) != 0) {
			vecc.at(vecb.at(ic) - 1) += veca.at(ic);
		}
		else {
			pnt += veca.at(ic);
		}
	}
	int cnt = 0;
	for (int id = 0; id < 100; id++) {
		if (vecc.at(id) > pnt) {
			cnt++;
		}
	}
	if (cnt) {
		cout << "NO" << endl;
	}
	else {
		cout << "YES" << endl;
	}
}