#include <vector>
#include <queue>
#include <deque>
#include <stack>
#include <algorithm>
#include <functional>
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <cctype>
#include <string>
#include <map>

using namespace std;

int main() {
  int n;
  cin >> n;
  int score = 0;
  int a[n], b[n];
  map <int, int> memo;
  int maxv = 0;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  for (int i = 0; i < n; i++) {
    cin >> b[i];
  }
  for (int i = 0; i < n; i++) {
    if (b[i] == 0) {
      score += a[i];
    }else {
      memo[b[i]] += a[i];
      maxv = max(maxv, memo[b[i]]);
    }
  }

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