using System;
using System.Collections.Generic;

namespace Takmicenje1
{
    internal class Program
    {
        static void Main()
        {
            int N, Q;
            List<long> dan = new List<long>();
            List<long> pakovanje = new List<long>();
            List<long> kraj = new List<long>();

            string[] unos = Console.ReadLine().Split();
            N = int.Parse(unos[0]);
            Q = int.Parse(unos[1]);

            for (int i = 0; i < N; i++)
            {
                string[] dpUnos = Console.ReadLine().Split();
                dan.Add(long.Parse(dpUnos[0]));
                pakovanje.Add(long.Parse(dpUnos[1]));
            }

            for (int i = 0; i < Q; i++)
            {
                kraj.Add(long.Parse(Console.ReadLine()));
            }

            foreach (long krajnjiDan in kraj)
            {
                long ukupnoPojedeno = 0;
                long preostalaPlazma = 0;

                for (int i = 0; i < N && dan[i] <= krajnjiDan; i++)
                {
                    preostalaPlazma += pakovanje[i];

                    long sledeciDanKupovine = (i + 1 < N && dan[i + 1] <= krajnjiDan) 
                                              ? dan[i + 1]
                                              : krajnjiDan + 1;

                    long trajanjePerioda = sledeciDanKupovine - dan[i];
                    long daniZaJedenje = Math.Min(preostalaPlazma, trajanjePerioda);

                    ukupnoPojedeno += daniZaJedenje;
                    preostalaPlazma -= daniZaJedenje;
                }

                Console.WriteLine(ukupnoPojedeno);
            }
        }
    }
}