#include <iostream>
#include <algorithm>

using namespace std;

struct vaga{
    long long minn, maxx;
    int indeks;
};

struct pitanje{
    int l, r;
    long long x;
};

bool kila(vaga a, vaga b){
    return(a.maxx>b.maxx);
}

int pretraga(vaga niz[], int p, int d, pitanje t)
{
    if (d >= p) {
        int med = p + (d - p) / 2;
        if (niz[med].maxx >= t.x)
            return med;
        if (niz[med].maxx <= t.x)
            return pretraga(niz, p, med - 1, t);
        return pretraga(niz, med + 1, d, t);
    }

    return -1;
}

int n, m;
vaga vage[200001];
pitanje pitanja[200001];
int main()
{
    int br=0;
    cin>>n>>m;
    for(int i=0;i<n;i++){
        cin>>vage[i].minn>>vage[i].maxx;
        vage[i].indeks=i;
    }
    for(int i=0;i<m;i++) cin>>pitanja[i].l>>pitanja[i].r>>pitanja[i].x;
    sort(vage,vage+n,kila);
    ///for(int i=0;i<n;i++) cout<<vage[i].minn<<" "<<vage[i].maxx<<" "<<vage[i].indeks<<endl;
    for(int i=0; i<m;i++){
        br=0;
        int pos=pretraga(vage,0,n-1,pitanja[i]);
        if(pos==-1) goto jump;
        else for(int k=pos;k<n;k++) if((vage[k].indeks>=pitanja[i].l && vage[k].indeks<=pitanja[i].r)&&(vage[k].minn<=pitanja[i].x && vage[k].maxx>=pitanja[i].x)) br++;
    jump:
        cout<<br<<endl;
    }
    return 0;
}