import Control.Monad (replicateM) import Data.List (transpose) solve :: Integral a => [a] -> [a] -> [a] -> a solve as bs cs = sum $ zipWith (*) as ds where ds = scanl1 (+) $ init $ zipWith (-) cs bs main :: IO () main = do n <- readLn :: IO Int as <- replicateM (n - 1) readLn :: IO [Int] [bs, cs] <- transpose . fmap (fmap read . words) <$> replicateM n getLine :: IO [[Int]] print $ solve as bs cs