using System;
string[] vrednosti = Console.ReadLine().Split();
int N = int.Parse(vrednosti[0]);
int Q = int.Parse(vrednosti[1]);
long[] dani = new long[N];
long[] paketi = new long[N];
for (int i = 0; i < N; i++)
{
    string[] unos = Console.ReadLine().Split();
    dani[i] = long.Parse(unos[0]);
    paketi[i] = long.Parse(unos[1]);
}
long[] pitanja = new long[Q];
for (int i = 0; i < Q; i++)
{
    pitanja[i] = long.Parse(Console.ReadLine());
}
long pojedeno = 0, ukupno = 0, brojac = 0, bonus = 0;
foreach (long i in pitanja)
{
    for(int j = 0; j <= i; j++)
    {
        if(brojac+1 <= dani.Length)
        {
            if (j == dani[brojac])
            {
                ukupno += paketi[brojac];
                brojac++;
            }

        }
        if (ukupno > 0)
        {
            pojedeno++;
            ukupno--;
        }
    }
    Console.WriteLine(pojedeno);
}