#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2e6;
vector<pair<int, int> > x;
int cnt[MAXN];
int pref[MAXN];
int32_t main() {
  int n, k, q;
  scanf("%d%d%d", &n, &k, &q);
  for (int i = 0; i < n; i++) {
    int l, r;
    scanf("%d%d", &l, &r);
    x.push_back(make_pair(l, 1));
    x.push_back(make_pair(r + 1, -1));
  }
  sort(x.begin(), x.end());
  fill(cnt, cnt + MAXN, 0);
  int last = 0, cur = 0;
  for (int i = 0; i < (int)x.size(); i++) {
    for (int j = last; j <= x[i].first; j++) cnt[j] = cur;
    cnt[x[i].first] += x[i].second;
    cur += x[i].second;
    last = x[i].first + 1;
  }
  pref[0] = 0;
  for (int i = 1; i < MAXN; i++) pref[i] = pref[i - 1] + (cnt[i - 1] >= k);
  for (int i = 0; i < q; i++) {
    int l, r;
    scanf("%d%d", &l, &r);
    printf("%d\n", pref[r + 1] - pref[l]);
  }
  return 0;
}
