import Control.Applicative
import Control.Monad
import Data.List

type Interval = (Int, Int)
type Query    = (Int, Int)

myRead :: String -> (Int, Int)
myRead xs = (l, r)
    where (l:r:_) = (map read) $ words xs

sortByLeft :: [Interval] -> [Interval]
sortByLeft []     = []
sortByLeft (q:xs) = sortByLeft lt ++ [q] ++ sortByLeft gteq
    where lt   = [x | x <- xs, fst x <  fst q]
          gteq = [x | x <- xs, fst x >= fst q]


countTrains :: Query -> [Interval] -> Int
countTrains q xs = length $ filter (\z -> snd z <= r) ys
    where l  = fst q
          r  = snd q
          ys = dropWhile (\y -> fst y < l) xs


solver :: [Interval] -> [Query] -> [Int]
solver _  []     = []
solver xs (y:ys) = countTrains y xs : solver xs ys

main :: IO ()
main = do
    (n:m:q:_) <- (map read) . words <$> getLine
    interval  <- map myRead <$> replicateM m getLine
    query     <- map myRead <$> replicateM q getLine
    mapM_ print $ solver (sortByLeft interval) query
