#include <bits/stdc++.h>
using namespace std;
using namespace std;
typedef long long ll;
typedef vector <int> vi;
typedef pair <int,int> pii;
typedef pair<ll,ll> pll;
typedef vector<ll> vll;
#define A first
#define B second
#define PB push_back
#define MP make_pair
#define all(v) v.begin(),v.end()
#define FAST ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0);

int main()
{
    FAST
    int n,m;
    cin>>n>>m;
    pair<int,int> a[n];
    bool ok =true;
    map<int,bool> ima;
    map<int,bool> prefiksi;
    map<pair<int,int>, int> px;
    for(int i=0;i<n;i++)
    {
        cin>>a[i].A>>a[i].B;
        if(a[i].A!=a[i].B) ok =false;
        ima[a[i].A]=true;
    }
    if(ok)
    {
        for(int i=0;i<m;i++)
        {
            int l,r,x;
            cin>>l>>r>>x;
            int br=0;
            l--;
            r--;
            if(r<l) swap(r,l);
            if(ima[x])
            {
                if(!prefiksi[x])
                {
                    px[MP(x,-1)]=0;
                    for(int i=0;i<n;i++)
                    {
                        px[MP(x,i)]=px[MP(x,i-1)];
                        if(a[i].A==x) px[MP(x,i)]++;
                    }
                    prefiksi[x]=true;
                }
                cout<<px[MP(x,r)]-px[MP(x,l-1)]<<endl;
            }
            else cout<<0<<endl;
        }
        return 0;
    }
    for(int i=0;i<m;i++)
    {
        int l,r,x;
        cin>>l>>r>>x;
        int br=0;
        if(r<l) swap(r,l);
        for(int j=l-1;j<r;j++) if(a[j].A<=x && a[j].B>=x) br++;
        cout<<br<<endl;
    }
    return 0;
}