#include <algorithm> #include <cmath> #include <complex> #include <cstdio> #include <cstdlib> #include <cstring> #include <iostream> #include <map> #include <numeric> #include <queue> #include <set> #include <string> #include <vector> using namespace std; typedef long long int ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; typedef vector<int> vi; #define rep(i,x) for(int i=0;i<(int)(x);++i) #define reps(i,x) for(int i=1;i<=(int)(x);++i) #define rrep(i,x) for(int i=((int)(x)-1);i>=0;i--) #define rreps(i,x) for(int i=((int)(x));i>0;i--) #define pb push_back int n, player; int map_max(map<int, int> M){ int mx = 0; map<int, int>::iterator itr; for (itr = M.begin(); itr != M.end(); itr++) { if (mx < itr->second) mx = itr->second; } return mx; } int main(){ cin.tie(0); ios::sync_with_stdio(false); map<int, int> ps; cin >> n; vi score(n); rep(i, n) cin >> score[i]; rep(i, n) { cin >> player; ps[player] += score[i]; } int top = map_max(ps); cout << (top <= ps[0] ? "YES" : "NO") << "\n"; return 0; }