#include using i64 = long long; using u64 = unsigned long long; using u32 = unsigned; using u128 = unsigned __int128; using i128 = __int128; void solve() { int N; std::cin >> N; std::vector a(N), b(N); int X = 0; for(int i = 0; i < N; i ++) { std::cin >> a[i]; X += a[i]; } int Y = 0; int max = -1; for(int i = 0; i < N; i ++) { std::cin >> b[i]; if(b[i] != 0) { Y += a[i]; max = std::max(max, a[i]); } } if(X - Y >= max) std::cout << "YES\n"; else std::cout << "NO\n"; } int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int T = 1; //std::cin >> T; while (T--) { solve(); } return 0; }