import Control.Applicative

main :: IO ()
main = do
    n <- readLn :: IO Int
    as <- (map read . words) <$> getLine
    bs <- (map read . words) <$> getLine
    let ds = zipWith (-) as bs
    print ds

    let res = foldl increment (0, 0) ds
    print res
    if fst res >= snd res then
        putStrLn "Yes"
    else
        putStrLn "No"
    where increment c d
            | d == 0 = c
            | d > 0 = incSnd c (abs d)
            | d < 0 = evenPattern c d
          evenPattern c d
            | d `mod` 2 == 0 = incFst c (abs $ d `div` 2)
            | otherwise = incSnd (incFst c ((abs . div 2) (d - 2))) 1


incFst :: (Int, Int) -> Int -> (Int, Int)
incFst c i = (fst c + i, snd c)

incSnd :: (Int, Int) -> Int -> (Int, Int)
incSnd c i = (fst c, snd c + i)
