import Data.List.Split (splitOn) toMinutes :: String -> Int toMinutes = (\(h : m : _) -> h * 60 + m) . map read . splitOn ":" getSleep :: [String] -> Int getSleep (st : en : _) | st' > en' = en' + 24 * 60 - st' | otherwise = en' - st' where [st', en'] = map toMinutes [st, en] main :: IO () main = getLine >> getContents >>= print . sum . map getSleep . map words . lines