using System;

class Program
{
    static void Main()
    {
        // ?????? ??????? ????????
        string[] s1 = Console.ReadLine().Split();
        int N = int.Parse(s1[0]);
        int Q = int.Parse(s1[1]);

        long[] dani = new long[N];
        long[] pakovanja = new long[N];

        for (int i = 0; i < N; i++)
        {
            string[] s = Console.ReadLine().Split();
            dani[i] = long.Parse(s[0]);
            pakovanja[i] = long.Parse(s[1]);
        }

        long [] pitanja = new long[Q];
        for (int i = 0; i < Q; i++)
        {
            pitanja[i] = long.Parse(Console.ReadLine());
        }
        long trenindeks = 0;
        long dostupnaPlazma = 0;
        long pojedeno = 0;
        long trenDan = 0;
        foreach (int pitanje in pitanja)
        {
            while (trenDan < pitanje)
            {
                    trenDan++;
                if (trenindeks < N && dani[trenindeks] == trenDan)
                {
                    dostupnaPlazma += pakovanja[trenindeks];
                    trenindeks++;
                }
                if (dostupnaPlazma > 0)
                {
                    dostupnaPlazma--;
                    pojedeno++;
                }
            }
            Console.WriteLine(pojedeno);
        }
    }
}