import Control.Monad
import Data.Array.IO

main = do

  [n,m,q] <- map read . words <$> getLine
  
  arr <- newArray ((1,1),(n,n)) 0 :: IO (IOUArray (Int,Int) Int)
  carr <- newArray ((1,1),(n,n)) 0 :: IO (IOUArray (Int,Int) Int)
  
  replicateM_ m $ do
    [l, r] <- map read . words <$> getLine
    acc <- readArray arr (l, r)
    writeArray arr (l, r) (acc+1)

  forM_ [1..n] $ \i -> do
    writeArray carr (i, 1) =<< readArray arr (i, 1)
    forM_ [2..n] $ \j -> do
      a <- readArray arr (i,j)
      s <- readArray carr (i,j-1)
      writeArray carr (i, j) (a+s)

  replicateM_ q $ do
    [p, q] <- map read . words <$> getLine
    print . sum =<< forM [p..q] (\l -> do
      ciq <- readArray carr (l,q)
      cip1 <- case p of
        1 -> return 0
        _ -> readArray carr (l,p-1)
      return (ciq - cip1))