import Control.Monad
import Data.List
import qualified Data.ByteString.Char8 as B
import qualified Data.Map.Strict as M

main=do
  (n:m:q:_)<-map read.words<$>getLine::IO[Int]
  lrs<-replicateM m $ unfoldr(B.readInt.B.dropWhile(==' '))<$>B.getLine::IO[[Int]]
  pqs<-replicateM q $ unfoldr(B.readInt.B.dropWhile(==' '))<$>B.getLine::IO[[Int]]
  --
  let mp = M.toList $ foldl (\m (l:r:_) -> M.insertWith (+) (l,r) 1 m) M.empty lrs
  --
  putStr.unlines $ map (show.f mp) pqs
--
f :: [((Int,Int),Int)] -> [Int] -> Int
f mp (p:q:_) = foldl' (\ac ((_,_),n)->ac+n) 0 $ filter (\((l,r),_)->p<=l&&r<=q) mp