#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n,m ;
    cin >> n >> m ;
    pair<int,pair<int,int>> niz[2*n+1] ;
    pair<int,pair<int,int>> p1 ;
    int br ;
    int l,r,t,x ;
    for(int i=1 ; i<=n ; i++){
        cin >> br ;
        p1.first=br ;
        p1.second.first=1 ;
        p1.second.second=i ;
        niz[2*i-1]=p1;
        cin >> br ;
        p1.first=br ;
        p1.second.first=2 ;
        p1.second.second=i ;
        niz[2*i]=p1;
    }
    sort(niz+1,niz+2*n+1) ;
    int vr=0 ;
    vector<int> gr ;
    vector<int> ind ;
    for(int i=1 ; i<=2*n ; i++){
        if(vr==0 ){
        gr.push_back(niz[i].first) ;
        ind.push_back(i) ;
        }
        if(niz[i].second.first==1){
            vr++ ;
        }
        if(niz[i].second.first==2){
            vr-- ;
        }

    }
    int d=gr.size() ;

    int gr1[d] ;
    for(int i=0 ; i<d ; i++){
        gr1[i]=gr[i] ;

    }

    for(int i=0 ; i<m ; i++){
        x=0 ;
        cin >> l >> r >> t ;
        int p=upper_bound(gr1,gr1+d,t)-gr1-1 ;
        int id=ind[p] ;
        while(t>=niz[id].first && id<2*n+1){
            if(niz[id].second.second<=r && niz[id].second.second>=l){
                if(niz[id].second.first==1){
                    x++ ;

                }
                else{if (niz[id].first<t){
                    x-- ;}

                }
            }
            id++ ;
        }
        cout << x <<endl;


    }
    return 0;
}