using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;


namespace ConsoleApp65
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string U   = Console.ReadLine();
            


            int n = int.Parse(U.Split(' ')[0]);
            int q = int.Parse(U.Split(' ')[1]);

            List<(int, int)> L = new List<(int, int)>();

            int M = 0;
            int m = int.MinValue;
            
            
            for (int i = 0; i < n; i++) 
            {

                string U1 = Console.ReadLine();

                int d = int.Parse(U1.Split(' ')[0]);
                int p = int.Parse(U1.Split(' ')[1]);
                if (d > m) 
                {
                    m = d;
                    
                }
                M += p;
                L.Add((d, p));

            }
            int[] l = new int[m + M];

            for (int i = 0; i < m + M; i++) 
            {

                for (int j = 0; j < L.Count; j++)
                {

                    if (i+1 == L[j].Item1) 
                    {
                        l[i] += L[j].Item2;
                    }


                }


            }
            

            int z = 0;
            for (int j = 0; j < m + M; j++)
            {

                if (l[j] == 0)
                {

                    if (z > 0)
                    {
                        z -= 1;
                        l[j] = 1;

                    }


                }
                else if (l[j] > 1)
                {
                    z = z + l[j] - 1;
                    l[j] = 1;

                }
                else { };


            }
            int o = 0;

            List<int> l7  = new List<int> ();
            for (int i = 0; i < q; i++) 
            {
                int k = int.Parse(Console.ReadLine());


                for (int j = 0; j < l.Length; j++)
                {
                    

                    if (j + 1 > k) 
                    {
                        break;
                    }

                    o += l[j];

                }
                l7.Add(o);
                o = 0;

            }

            for (int i = 0; i < l7.Count; i++) 
            {

                Console.WriteLine(l7[i]);

            }


        }
    }
}