import Control.Applicative import Data.Maybe import qualified Data.ByteString.Char8 as B calc :: (Integral t) => t -> [t] -> t calc acc [c,d] = (acc+(c+1)`div`2*d)`mod`1000000007 main :: IO() main = do getLine print =<< foldl calc 0 <$> map (map fst . mapMaybe B.readInteger . B.words) <$> B.lines <$> B.getContents