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

namespace zadatak_4
{
    internal class Program
    {
        struct Vaga
        {
            public int d;
            public int u;
        }
        static void Main(string[] args)
        {
            int[] NiM = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
            Vaga[] nizVaga = new Vaga[NiM[0]];
            for (int i = 0; i < NiM[0]; i++)
            {
                int[] granice = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
                nizVaga[i].d = granice[0];
                nizVaga[i].u = granice[1];
            }
            int[] nizBrojaca = new int[NiM[1]];
            for (int i = 0; i < NiM[1]; i++)
            {
                int[] pitanje = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
                for (int j = pitanje[0] - 1; j < pitanje[1]; j++)
                {
                    if (pitanje[2] >= nizVaga[j].d && pitanje[2] <= nizVaga[j].u) nizBrojaca[i]++;
                }
            }
            for (int i = 0; i < NiM[1]; i++)
            {
                Console.WriteLine(nizBrojaca[i]);
            }
        }
    }
}