using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace kvalifikacije
{
    internal class Program
    {
        static void prviZad()
        {
            int x = int.Parse(Console.ReadLine());
            int y = int.Parse(Console.ReadLine());
            int x1 = x, y1 = y;
            int broj = 0, i = 1, z = 1;
            while (x > 0 && y > 0)
            {
                int cifra1 = x % 10;
                int cifra2 = y % 10;
                x /= 10;
                y /= 10;
                if (cifra1 > cifra2)
                {
                    broj += cifra1 * i;
                } else if (cifra1 < cifra2)
                {
                    broj += cifra2 * i;
                }
                else
                {
                    broj += cifra1 * i;
                    i *= 10;
                    broj += cifra2 * i;
                }
                z *= 10;
                i *= 10;
            }
            if (x > 0)
            {
                int cifra1 = x1 / z;
                broj += cifra1 * i;
            }
            else
            {
                int cifra2 = y1 / z;
                broj += cifra2 * i;
            }
            Console.WriteLine(broj);
        }
        static void sort(int[] a, int n)
        {
            int i, j;
            for (i = 0; i < n - 1; i++)
                for (j = i + 1; j < n; j++)
                    if (a[i] > a[j])
                        razmeni(ref a[i], ref a[j]);
        }
        static void razmeni(ref int x, ref int y)
        {
            int p = x;
            x = y;
            y = p;
        }
        static void drugiZad()
        {
            string prviRed = Console.ReadLine();
            int n = int.Parse(prviRed.Split(' ')[0]);
            int q = int.Parse(prviRed.Split(' ')[1]);
            string drugiRed = Console.ReadLine();
            int[] a = new int[n];
            for(int i = 0;i < n; i++)
            {
                a[i] = int.Parse(drugiRed.Split(' ')[i]);
            }
            sort(a, n);
            string treciRed = Console.ReadLine();
            for (int i = 0; i < q; i++)
            {
                int novaMedijana = 0;
                bool flag = true;
                int m = int.Parse(treciRed.Split(' ')[i]);
                for(int j = 0; j < n; j++)
                {
                    if (a[j] == m)
                    {
                        novaMedijana = j+1;
                        flag = false;
                        break;
                    }
                }
                if (flag)
                {
                    int n1 = n;
                    n1++;
                    int[] a1 = new int[n1];
                    a1[n1 - 1] = m;
                    for(int j = 0; j < n; j++)
                    {
                        a1[j] = a[j];
                    }
                    sort(a1, n1);
                    for (int j = 0; j < n1; j++)
                    {
                        if (a1[j] == m)
                        {
                            novaMedijana = j + 1;
                            break;
                        }
                    }
                }
                if(novaMedijana < n / 2 + 1)
                {
                    if ((2 * novaMedijana - 1) % 2 == 0 || 2 * novaMedijana - 1 == n)
                    {
                        Console.WriteLine(Math.Abs((novaMedijana - 1 - (n - novaMedijana))) + 1);
                    }
                    else
                    {
                        Console.WriteLine(Math.Abs((novaMedijana - 1 - (n - novaMedijana))));
                    }
                }
                else
                {
                    if ((2*novaMedijana-1) % 2 == 0 || 2 * novaMedijana - 1 == n)
                    {
                        Console.WriteLine(Math.Abs((novaMedijana - 1 - (n - novaMedijana))));
                    }
                    else
                    {
                        Console.WriteLine(Math.Abs((novaMedijana - 1 - (n - novaMedijana)))-1);
                    }
                }
            }

        }
        static void treciZad()
        {
            string prviRed = Console.ReadLine();
            int n = int.Parse(prviRed.Split(' ')[0]);
            int m = int.Parse(prviRed.Split(' ')[1]);
            int[] donja = new int[n];
            int[] gornja = new int[n];
            int[] index1 = new int[m];
            int[] index2 = new int[m];
            int[] tezina = new int[m];
            for(int i = 0; i < n; i++)
            {
                string red = Console.ReadLine();
                donja[i] = int.Parse(red.Split(' ')[0]);
                gornja[i] = int.Parse(red.Split(' ')[1]);
            }
            for(int i = 0;i < m; i++)
            {
                string red = Console.ReadLine();
                index1[i] = int.Parse(red.Split(' ')[0])-1;
                index2[i] = int.Parse(red.Split(' ')[1])-1;
                tezina[i] = int.Parse(red.Split(' ')[2]);
            }
            bool flag = true;
            int broj = 0;
            for(int i = 0; i < m; i++)
            {
                for(int j = index1[i]; j <= index2[i]; j++)
                {
                    if(tezina[i] >= donja[j] && tezina[i] <= gornja[j])
                    {
                        broj++;
                    }
                }
                Console.WriteLine(broj);
                broj = 0;
            }
        }
        static void Main(string[] args)
        {
            treciZad();
        }
    }
}