#include <bits/stdc++.h>
using namespace std;
int l[200005], r[200005];
int cnt[200005];
vector<pair<int, int> > v;
vector<int> v2;
int main() {
  std::ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  ;
  int n, k, q;
  cin >> n >> k >> q;
  int mins = 1e9;
  int maxs = -1;
  for (int i = 0; i < n; i++) {
    cin >> l[i] >> r[i];
    mins = min(mins, l[i]);
    maxs = max(maxs, r[i]);
    v.push_back(make_pair(l[i], 0));
    v.push_back(make_pair(r[i], 1));
  }
  sort(v.begin(), v.end());
  int i = 0;
  cnt[0] = 0;
  int flag = 0;
  for (int j = mins; j <= maxs; j++) {
    cnt[j] = cnt[j - 1] + flag;
    flag = 0;
    while (v[i].first == j) {
      if (v[i].second == 0) {
        cnt[j]++;
      } else {
        flag--;
      }
      i++;
    }
  }
  for (int i = mins; i <= maxs; i++) {
    if (cnt[i] >= k) {
      v2.push_back(i);
    }
  }
  int a, b;
  int x;
  for (int i = 0; i < q; i++) {
    cin >> a >> b;
    x = upper_bound(v2.begin(), v2.end(), b) -
        upper_bound(v2.begin(), v2.end(), a - 1);
    cout << x << "\n";
  }
  return 0;
}
