using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;

namespace AtCoder.D
{
    public class Program
    {
        public static long N { get; private set; }
        public static long M { get; private set; }
        public static long Q { get; private set; }
        public static long[] L { get; private set; }
        public static long[] R { get; private set; }

        public static void Main() { var r = GetResult(); Debug.WriteLine(r); Console.Write(r); }

        private static object GetResult()
        {
            (N, M, Q) = Read3Longs();
            L = new long[M];
            R = new long[M];
            var p = new long[Q];
            var q = new long[Q];
            var table = new long[N, N];
            for (int i = 0; i < M; i++)
            {
                var (l, r) = Read2Longs();
                l--; // インデックス変換
                r--; // インデックス変換
                L[i] = l;
                R[i] = r;
                table[l, r]++;
            }
            for (int i = 0; i < Q; i++)
            {
                var (p_in, q_in) = Read2Longs();
                p[i] = p_in - 1; // インデックス変換
                q[i] = q_in - 1; // インデックス変換
            }

            var ruisekiTable = new long[N, N];
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < N; j++)
                {
                    ruisekiTable[i, j] +=
                        table[i, j]
                        + (i - 1 >= 0 ? ruisekiTable[i - 1, j] : 0)
                        + (j - 1 >= 0 ? ruisekiTable[i, j - 1] : 0)
                        - (i - 1 >= 0 && j - 1 >= 0 ? ruisekiTable[i - 1, j - 1] : 0);
                }
            }

            var sb = new StringBuilder();
            for (int i = 0; i < Q; i++)
            {
                var l = p[i];
                var r = q[i];
                var count = ruisekiTable[r, r];
                if (l - 1 >= 0)
                {
                    count +=
                        -1 * ruisekiTable[r, l - 1]
                        + -1 * ruisekiTable[l - 1, r]
                        + ruisekiTable[l - 1, l - 1];
                }

                sb.AppendLine(count.ToString());
            }

            return sb.ToString().Trim();
        }

        #region Console.Read

        public static string ReadText() { return Console.ReadLine(); }
        public static List<string> ReadTexts() { return Console.ReadLine().Split(' ').ToList(); }
        public static long ReadLong() { return long.Parse(Console.ReadLine()); }
        public static (long, long) Read2Longs() { var ls = ReadLongs(); return (ls[0], ls[1]); }
        public static (long, long, long) Read3Longs() { var ls = ReadLongs(); return (ls[0], ls[1], ls[2]); }
        public static (long, long, long, long) Read4Longs() { var ls = ReadLongs(); return (ls[0], ls[1], ls[2], ls[3]); }
        public static (long, long, long, long, long) Read5Longs() { var ls = ReadLongs(); return (ls[0], ls[1], ls[2], ls[3], ls[4]); }
        public static List<long> ReadLongs() { return Console.ReadLine().Split(' ').Select(x => long.Parse(x)).ToList(); }

        #endregion
    }
}


Measured memory_bytes: 57744