import Control.Applicative ((<$>))
import Control.Monad (replicateM)
import Data.List
import qualified Data.Vector.Unboxed as VU

main :: IO ()
main = do
  n <- getl read
  solve <$> replicateM n (getl $ map read . words) >>= print

solve :: [[Int]] -> Int
solve = (\(x, y) -> x + y `div` 4) . VU.foldl' g (0, 0) . foldl' f (VU.replicate 11 0)
  where
    f :: VU.Vector Int -> [Int] -> VU.Vector Int
    f v ls = VU.accum (+) v $ zip ls (repeat 1)
    g (q, r) x = (q + x `div` 2, r + x `mod` 2)

getl :: (String -> a) -> IO a
getl f = f <$> getLine