package main

import (
	"fmt"
)

func main() {
	var n int
	fmt.Scanf("%d", &n)

	as := make([]int, n)
	bs := make([]int, n)
	for i := 0; i < n; i++ {
		fmt.Scanf("%d", &as[i])
	}
	for i := 0; i < n; i++ {
		fmt.Scanf("%d", &bs[i])
	}

	score := 0             // 誰にも解かれていない問題のスコア合計
	d := make(map[int]int) // <人, 得点>
	for i := 0; i < n; i++ {
		if bs[i] == 0 {
			score += as[i]
		} else {
			d[bs[i]] += as[i]
		}
	}

	win := true
	for _, v := range d {
		if v > score {
			win = false
			break
		}
	}

	if win {
		fmt.Println("YES")
	} else {
		fmt.Println("NO")
	}
}