#include #define int long long using namespace std; using Graph = vector>; signed main(){ int N; cin >> N; vector A(N); vector B(N); for( int i = 0; i < N; i++ ) cin >> A.at(i); for( int i = 0; i < N; i++ ) cin >> B.at(i); int K = 0; map ten; for( int i = 0; i < N; i++ ){ if( B.at(i) == 0 ) K += A.at(i); else{ if( ten.count(B.at(i)) ) ten.at(B.at(i)) += A.at(i); else ten[B.at(i)] = A.at(i); } } for( auto p : ten ){ if( p.second > K ){ cout << "NO" << endl; return 0; } } cout << "YES" << endl; }