#include <bits/stdc++.h>
using namespace std;
int A[200005], B[200005], t[800050];
void build(int a[], int v, int tl, int tr) {
  if (tl == tr)
    t[v] = a[tl];
  else {
    int tm = (tl + tr) / 2;
    build(a, v * 2, tl, tm);
    build(a, v * 2 + 1, tm + 1, tr);
    t[v] = t[v * 2] + t[v * 2 + 1];
  }
}
int sum(int v, int tl, int tr, int l, int r) {
  if (l > r) return 0;
  if (l == tl && r == tr) return t[v];
  int tm = (tr + tl) / 2;
  return sum(v * 2, tl, tm, l, min(r, tm)) +
         sum(v * 2 + 1, tm + 1, tr, max(l, tm + 1), r);
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  long long n, k, q, l, r, a, b;
  cin >> n >> k >> q;
  for (long long i = 0; i < n; i++) {
    cin >> l >> r;
    A[l]++;
    B[r]++;
    A[r]--;
  }
  long long s = 0;
  for (long long i = 1; i <= 200000; i++) {
    s += A[i];
    A[i] = s + B[i];
    if (A[i] < k)
      A[i] = 0;
    else
      A[i] = 1;
  }
  build(A, 1, 1, 200000);
  for (long long i = 0; i < q; i++) {
    cin >> a >> b;
    cout << sum(1, 1, 200000, a, b) << endl;
  }
}
