import Control.Applicative ((<$>)) import Control.Monad (replicateM) import Data.List main :: IO () main = do n <- getl read solve <$> replicateM n (getl $ map read . words) >>= print solve :: [[Int]] -> Int solve = g . map f where f [x, y] = y - x g (x:xs) = if x > 0 && all (== x) xs then x else (-1) getl :: (String -> a) -> IO a getl f = f <$> getLine