#include <bits/stdc++.h>
using namespace std;
const int SZ = 200005;
const double EPS = 1e-9;
const int MOD = 100000008;
const int INF = (1 << 30) - 1;
const double PI = 2 * acos(0.0);
template <class T>
T MIN(T a, T b) {
  return (a < b) ? a : b;
}
template <class T>
T MAX(T a, T b) {
  return (a > b) ? a : b;
}
template <class T>
void SWAP(T &a, T &b) {
  T c;
  c = a;
  a = b;
  b = c;
}
template <class T>
T GCD(T a, T b) {
  T c;
  while (b > 0) {
    c = a % b;
    a = b;
    b = c;
  }
  return a;
}
bool CMP(int a, int b) { return (a > b); }
int main() {
  int n, k, q, i, l, r, c[200005] = {0}, s[200005] = {0};
  cin >> n >> k >> q;
  while (n--) {
    cin >> l >> r;
    c[l]++;
    c[r + 1]--;
  }
  for (i = 1; i < SZ; i++) {
    c[i] += c[i - 1];
    if (c[i] >= k) {
      s[i]++;
    }
  }
  for (i = 1; i < SZ; i++) {
    s[i] += s[i - 1];
  }
  while (q--) {
    cin >> l >> r;
    cout << s[r] - s[l - 1] << endl;
  }
  return 0;
}
