#include <bits/stdc++.h>

using namespace std;

vector<int> d;
vector<int> u;

vector<int> sol;

int s[21][200000];

int main()
{
    int n;
    int m;

    cin >> n;
    cin >> m;

    int maxu = 0;
    memset(s, 0, sizeof(s));

    for(int i = 0; i < n; i++)
    {
        int a;
        int b;

        cin >> a;
        cin >> b;

        maxu = max(b, maxu);

        d.push_back(a);
        u.push_back(b);
    }

    if(maxu <= 20)
    {
        for(int i = 0; i < n; i++)
        {
            s[d[i] - 1][i]++;
            s[u[i]][i]--;
        }

        for(int i = 0; i < n; i++)
            for(int j = 1; j < 20; j++)
                s[j][i] += s[j - 1][i];

        for(int j = 0; j < 20; j++)
            for(int i = 1; i < n; i++)
                s[j][i] += s[j][i - 1];

        for(int i = 0; i < m; i++)
        {
            int l;
            int r;
            int x;

            cin >> l;
            cin >> r;
            cin >> x;

            int res;

            if(x > 20)
                res = 0;
            else
                res = s[x][r - 1] - s[x][l - 1];

            sol.push_back(res);
        }
    }
    else
    {
        for(int i = 0; i < m; i++)
        {
            int l;
            int r;
            int x;

            cin >> l;
            cin >> r;
            cin >> x;

            int res = 0;

            for(int j = l; j <= r; j++)
                if(x <= u[j] && x >= d[j])
                    res++;

            sol.push_back(res);
        }
    }

    for(int i = 0; i < m; i++)
        cout << sol[i] << '\n';


    return 0;
}