# ABC106D - AtCoder Express 2

from itertools import accumulate as acc





def main():

    # 2D cumulative sum

    N, M, Q, *X = list(map(int, open(0).read().split()))

    LR, PQ = X[: 2 * M], X[2 * M :]

    imos = [[0] * (N + 1) for _ in range(N + 1)]

    for l, r in zip(*[iter(LR)] * 2):

        imos[l][r] += 1

    imos = [list(acc(a)) for a in zip(*[acc(a) for a in imos])]

    ans = []

    for p, q in zip(*[iter(PQ)] * 2):

        cur = imos[q][q] - imos[p - 1][q] - imos[q][p - 1] + imos[p - 1][q - 1]

        ans.append(cur)

    print(("\n".join(map(str, ans))))





if __name__ == "__main__":

    main()
# ABC106D - AtCoder Express 2

from itertools import accumulate as acc





def main():

    # 2D cumulative sum

    N, M, Q, *X = list(map(int, open(0).read().split()))

    LR, PQ = X[: 2 * M], X[2 * M :]

    imos = [[0] * (N + 1) for _ in range(N + 1)]

    for l, r in zip(*[iter(LR)] * 2):

        imos[l][r] += 1

    imos = [list(acc(a[::-1]))[::-1] for a in zip(*[acc(a) for a in imos])]

    ans = []

    for p, q in zip(*[iter(PQ)] * 2):

        ans.append(imos[q][p])

    print(("\n".join(map(str, ans))))





if __name__ == "__main__":

    main()
# ABC106D - AtCoder Express 2
from itertools import accumulate as acc


def main():
    # 2D cumulative sum
    N, M, Q, *X = list(map(int, open(0).read().split()))
    LR, PQ = X[: 2 * M], X[2 * M :]
    imos = [[0] * (N + 1) for _ in range(N + 1)]
    for l, r in zip(*[iter(LR)] * 2):
        imos[l][r] += 1
    imos = [list(acc(a)) for a in zip(*[acc(a) for a in imos])]
    ans = []
    for p, q in zip(*[iter(PQ)] * 2):
        cur = imos[q][q] - imos[p - 1][q] - imos[q][p - 1] + imos[p - 1][q - 1]
        ans.append(cur)
    print(("\n".join(map(str, ans))))


if __name__ == "__main__":
    main()

# ABC106D - AtCoder Express 2
from itertools import accumulate as acc


def main():
    # 2D cumulative sum
    N, M, Q, *X = list(map(int, open(0).read().split()))
    LR, PQ = X[: 2 * M], X[2 * M :]
    imos = [[0] * (N + 1) for _ in range(N + 1)]
    for l, r in zip(*[iter(LR)] * 2):
        imos[l][r] += 1
    imos = [list(acc(a[::-1]))[::-1] for a in zip(*[acc(a) for a in imos])]
    ans = []
    for p, q in zip(*[iter(PQ)] * 2):
        ans.append(imos[q][p])
    print(("\n".join(map(str, ans))))


if __name__ == "__main__":
    main()

-    imos = [list(acc(a)) for a in zip(*[acc(a) for a in imos])] +    imos = [list(acc(a[::-1]))[::-1] for a in zip(*[acc(a) for a in imos])] -        cur = imos[q][q] - imos[p - 1][q] - imos[q][p - 1] + imos[p - 1][q - 1] -        ans.append(cur) +        ans.append(imos[q][p])