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

namespace ConsoleApp2
{
    class Program
    {
        static List<long> lista = new List<long>();
        static int n;
        static void nepotrebnafunkcija(long pdan, long pplazma,int brojac) 
        {
           
            if (brojac==n) 
            {
                lista.Add(pplazma);
                return;
            }
            string[] s = Console.ReadLine().Split();
            long dan = long.Parse(s[0]);
            long plazma = long.Parse(s[1]);
            if (pdan + pplazma < dan)
            {
                lista.Add(pplazma);
                lista.Add(pdan + pplazma - dan);

            }
            else 
            {
                lista.Add(dan);
                plazma=plazma+pplazma-dan+1;
            }
            nepotrebnafunkcija(dan, plazma, brojac+1);
            
        }
     
        static void Main(string[] args)
        {
            
            string[] s = Console.ReadLine().Split();
            n = int.Parse(s[0]);//kolike je puta pronasao plazmu
            int q = int.Parse(s[1]);//broj pitanja
            s = Console.ReadLine().Split();
            long dan = int.Parse(s[0]);
            long plazma = int.Parse(s[1]);
                if (dan-1!=0) 
                {
                    lista.Add(-dan);
                }
            nepotrebnafunkcija(dan, plazma, 1);
            for (int i=0;i<q;i++) 
            {
                long zadnjidan=long.Parse(Console.ReadLine());
                long pojedeneplazme = zadnjidan;
                long uplazme = 0;
                long abszbir = 0;
                for (int j=0;j<lista.Count; j++) 
                {
                    abszbir += Math.Abs(lista[j]);
                    if (lista[j] < 0)
                    {
                        
                        pojedeneplazme += lista[j];
                    }
                    else 
                    {
                        uplazme += lista[j];
                    }
                    if (abszbir>zadnjidan) 
                    {
                        if (lista[j] < 0) 
                        {
                            pojedeneplazme += (abszbir-zadnjidan);
                        }
                        break;
                    }
                }
                if (abszbir<zadnjidan) 
                {
                    Console.WriteLine(uplazme-2);
                }
                else if (pojedeneplazme == 0)
                {
                    Console.WriteLine(pojedeneplazme);
                }
                else
                {
                    Console.WriteLine(pojedeneplazme + 1);
                }
                
            }
            
            Console.ReadLine();
        }
    }
}