using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        string[] unos = Console.ReadLine().Split();
        int brojKupovina = int.Parse(unos[0]);
        int brojUpita = int.Parse(unos[1]);
        int[] dani = new int[brojKupovina];
        int[] pakovanja = new int[brojKupovina];
        for (int i = 0; i < brojKupovina; i++)
        {
            string[] kupovina = Console.ReadLine().Split();
            dani[i] = int.Parse(kupovina[0]);
            pakovanja[i] = int.Parse(kupovina[1]);
        }
        int[] upiti = new int[brojUpita];
        for (int i = 0; i < brojUpita; i++)
        {
            upiti[i] = int.Parse(Console.ReadLine());
        }
        int ukupnoPojedeno = 0;
        int preostalaPlazma = 0;
        int trenutniDan = 0;

        foreach (int krajDana in upiti)
        {
            
            while (trenutniDan < krajDana)
            {
                trenutniDan++;

                
                for (int i = 0; i < brojKupovina; i++)
                {
                    if (dani[i] == trenutniDan)
                    {
                        preostalaPlazma += pakovanja[i];
                    }
                }

                if (preostalaPlazma > 0)
                {
                    ukupnoPojedeno++;
                    preostalaPlazma--;
                }
            }
            Console.WriteLine(ukupnoPojedeno);
        }
    }
}