#include <bits/stdc++.h>

using namespace std;

map<int,vector<int>>mp;
int lo[200001];
int hi[200001];

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n, m; cin >> n >> m;
    for(int i=1;i<=n;i++){
        cin >> lo[i] >> hi[i];
        
    }
    if(n*m<=5000000){
        for(int i=0;i<m;i++){
            int l, r, v; cin >> l >> r >> v;
            int ans = 0;
            for(int j=l;j<=r;j++){
                if(lo[j]<=v && v<=hi[j])ans++;
            }
            cout << ans << '\n';
        }
        return 0;
    }
    for(int i=0;i<n;i++){
        mp[lo[i]].push_back(i);
    }
    for(int i=0;i<m;i++){
        int l, r, v; cin >> l >> r >> v;
        auto vct = mp[v];
        int low = lower_bound(vct.begin(), vct.end(), l) - vct.begin();
        int upp = upper_bound(vct.begin(), vct.end(), r) - vct.begin();
        cout << upp - low << '\n';
    }
    return 0;
}