#include <iostream>
#include <map>
#include <vector>
#include <queue>
using namespace std;
string  fun(string s , int n) {
    if (s.size() == 1 && n == 1) {
        return s;
    }
      long long sm = 0;
      for (int i = 0; i < s.size(); i++) {
          sm += s[i] - '0';
      }
      sm *= n;
      return fun(to_string(sm) , 1);
}
int main() {
    ios::sync_with_stdio(false);    cin.tie(NULL);     cout.tie(NULL);
    int n , k , q , l , r;
    cin >> n >> k >> q;
    vector<int> recp(200005 , 0) , pref(200005 , 0);
    for (int i = 0; i < n; i++) {
        cin >> l >> r;
        recp[l]++;
        recp[r+1]--;
    }
    for (int i = 1; i <= 200005; i++) {
        recp[i] += recp[i-1]  ;
    }
    for (int i = 0; i <= 200005; i++) {
        if (recp[i] >= k) {
            pref[i] = 1;
        }
    }
    for (int i = 1; i <= 200005; i++) {
        pref[i] += pref[i-1]  ;
    }
    while (q--) {
        cin >> l >> r;
        //cout << pref[l] << " " << pref[r] << endl;
        cout << pref[r] - pref [l-1] << endl;
    }



}
