using System;

class Program
{
    public static void Main()
    {
        string[] a = Console.ReadLine().Split();
        int n = int.Parse(a[0]);
        int q = int.Parse(a[1]);

        long[] dani = new long[n];
        long[] plazma = new long[n];
        long maksimum = n ;
        for (int i = 0; i < n; i++)
        {
            string[] t = Console.ReadLine().Split();
            dani[i] = long.Parse(t[0]);
            plazma[i] = long.Parse(t[1]);
            maksimum += plazma[i];
        }
        
        long[] provere = new long[q];
        for (int i = 0; i < q; i++)
        {
            provere[i] = long.Parse(Console.ReadLine());
        }

        long kolplazme = 0;
        int pojedenop = 0;
        long brojac = 1;
        int drugibrojac = 0;

        for (int i = 0; i < q; i++)
        {
            while (brojac <= provere[i])
            {
                if (drugibrojac < n && brojac == dani[drugibrojac] )
                {
                    kolplazme += plazma[drugibrojac];
                    drugibrojac += 1;

                }
                if (kolplazme>0)
                {
                    kolplazme -= 1;
                    pojedenop += 1;
                   
                }
                
                brojac += 1;
                if (brojac > maksimum)
                    break;
            }

            

            Console.WriteLine(pojedenop);
         
        }
    }
}