from itertools import accumulate

import sys

sdin = sys.stdin.readline



n,m,q = list(map(int, sdin().split()))



lr = []

for i in range(m):

    l,r = list(map(int, sdin().split()))

    lr.append(tuple([l-1, r-1]))

        

pq = []

for _ in range(q):

    p,q = list(map(int, sdin().split()))

    pq.append(tuple([p-1, q-1]))





# n×nフィールドを用意して各列車のl,r点をプロット

field = [[0 for _ in range(n)] for _ in range(n)]

for l, r in lr:

    field[l][r] += 1

    

# fieldのx方向の累積和を取る

field_cum = [list(accumulate(field[i])) for i in range(n)]    



# 各クエリに対し、rがpからqの間に入っているものを足し合わせる

for p,q in pq:

    ans = 0

    for i in range(p,q+1):

        ans += field_cum[i][q]

    print(ans)
from itertools import accumulate

import sys

sdin = sys.stdin.readline



n,m,q = list(map(int, sdin().split()))



lr = []

for i in range(m):

    l,r = list(map(int, sdin().split()))

    lr.append(tuple([l-1, r-1]))

        

pq = []

for _ in range(q):

    p,q = list(map(int, sdin().split()))

    pq.append(tuple([p-1, q-1]))



    

# n×nフィールドを用意して各列車のl,r点をプロット

field = [[0 for _ in range(n)] for _ in range(n)]

for l, r in lr:

    field[l][r] += 1

    

# fieldのx方向の累積和を取る

field_cum = [list(accumulate(field[i])) for i in range(n)]    



# field_cumのy方向の累積和をとる

for r in range(1,n):

    for l in range(n):

        field_cum[r][l] += field_cum[r-1][l]



        

# 各クエリに対し、長方形内部にあるものの個数を求める

for p,q in pq:

    if p > 0:

        print((field_cum[q][q] - field_cum[p-1][q] - field_cum[q][p-1] + field_cum[p-1][p-1]))

    else:

        print((field_cum[q][q]))
from itertools import accumulate
import sys

sdin = sys.stdin.readline
n, m, q = list(map(int, sdin().split()))
lr = []
for i in range(m):
    l, r = list(map(int, sdin().split()))
    lr.append(tuple([l - 1, r - 1]))
pq = []
for _ in range(q):
    p, q = list(map(int, sdin().split()))
    pq.append(tuple([p - 1, q - 1]))
# n×nフィールドを用意して各列車のl,r点をプロット
field = [[0 for _ in range(n)] for _ in range(n)]
for l, r in lr:
    field[l][r] += 1
# fieldのx方向の累積和を取る
field_cum = [list(accumulate(field[i])) for i in range(n)]
# 各クエリに対し、rがpからqの間に入っているものを足し合わせる
for p, q in pq:
    ans = 0
    for i in range(p, q + 1):
        ans += field_cum[i][q]
    print(ans)

from itertools import accumulate
import sys

sdin = sys.stdin.readline
n, m, q = list(map(int, sdin().split()))
lr = []
for i in range(m):
    l, r = list(map(int, sdin().split()))
    lr.append(tuple([l - 1, r - 1]))
pq = []
for _ in range(q):
    p, q = list(map(int, sdin().split()))
    pq.append(tuple([p - 1, q - 1]))
# n×nフィールドを用意して各列車のl,r点をプロット
field = [[0 for _ in range(n)] for _ in range(n)]
for l, r in lr:
    field[l][r] += 1
# fieldのx方向の累積和を取る
field_cum = [list(accumulate(field[i])) for i in range(n)]
# field_cumのy方向の累積和をとる
for r in range(1, n):
    for l in range(n):
        field_cum[r][l] += field_cum[r - 1][l]
# 各クエリに対し、長方形内部にあるものの個数を求める
for p, q in pq:
    if p > 0:
        print(
            (
                field_cum[q][q]
                - field_cum[p - 1][q]
                - field_cum[q][p - 1]
                + field_cum[p - 1][p - 1]
            )
        )
    else:
        print((field_cum[q][q]))

-# 各クエリに対し、rがpからqの間に入っているものを足し合わせる +# field_cumのy方向の累積和をとる +for r in range(1, n): +    for l in range(n): +        field_cum[r][l] += field_cum[r - 1][l] +# 各クエリに対し、長方形内部にあるものの個数を求める -    ans = 0 -    for i in range(p, q + 1): -        ans += field_cum[i][q] -    print(ans) +    if p > 0: +        print( +            ( +                field_cum[q][q] +                - field_cum[p - 1][q] +                - field_cum[q][p - 1] +                + field_cum[p - 1][p - 1] +            ) +        ) +    else: +        print((field_cum[q][q]))