using System;

namespace takm
{
    internal class Program
    {
        static void Main()
        {
            string[] str = Console.ReadLine().Split();
            int n = int.Parse(str[0]);
            int q = int.Parse(str[1]);
            var a = new (long d, long p)[n];

            for (int i = 0; i < n; i++)
            {
                str = Console.ReadLine().Split();
                a[i] = (long.Parse(str[0]), long.Parse(str[1]));
            }
            long suma = 0, poslednji = 0, brplazme = 0;
            int x = 0;

            for (int i = 0; i < q; i++)
            {
                long k = long.Parse(Console.ReadLine());
                while (x < n && a[x].d <= k)
                {
                    suma += a[x].p;

                    long t = a[x].d - poslednji - 1;
                    suma = Math.Max(0, suma - t);

                    brplazme += a[x].p;
                    poslednji = a[x].d;
                    x++;
                }
                if (poslednji < k)
                {
                    long r = k - poslednji;
                    suma = Math.Max(0, suma - r);
                    poslednji = k;
                }
                Console.WriteLine(brplazme - suma);
            }
        }
    }
}