open System type Sol() = member this.Solve() = let N = stdin.ReadLine() |> int let A = stdin.ReadLine().Split() |> Array.map int let B = stdin.ReadLine().Split() |> Array.map int let AB = Array.zip B A |> Seq.groupBy fst |>Seq.map (fun (x,ss) -> (x,Seq.sumBy snd ss) ) let res = Seq.tryFind (fun p -> (fst p) = 0 ) AB let ksScore = if Option.isNone res then 0 else (Option.get res |> snd) let elseMem = Seq.filter (fun p -> (fst p) <> 0 ) AB let elseScore = if (Seq.length elseMem = 0) then 0 else (elseMem |> Seq.map snd |> Seq.max) (if ksScore < elseScore then "NO" else "YES") |> printfn "%s" let mySol = new Sol() mySol.Solve()