using System;
string[] vrednosti = Console.ReadLine().Split();
            int N = int.Parse(vrednosti[0]);
            int Q = int.Parse(vrednosti[1]);
            long[] dani = new long[N];
            long[] paketi = new long[N];
            for (int i = 0; i < N; i++)
            {
                string[] unos = Console.ReadLine().Split();
                dani[i] = long.Parse(unos[0]);
                paketi[i] = long.Parse(unos[1]);
            }
            long[] pitanja = new long[Q];
            for (int i = 0; i < Q; i++)
            {
                pitanja[i] = long.Parse(Console.ReadLine());
            }
            long pojedeno = 0, ukupno = 0, brojac = 0,dkssj=0,prenosi=0;//dani kad se sme jesti
            foreach (long i in pitanja)
            { 
                 for(int j=0; j<N;j++) 
                 {
                    if (j==0)
                    {
                        prenosi += paketi[j];
                    }
                    else if (paketi[j]+prenosi > dani[j-1] )
                    {
                        pojedeno += dani[j - 1];
                        prenosi = paketi[j] - dani[j-1];
                    }
                    else
                    {
                        pojedeno += paketi[j] + prenosi;
                        prenosi = 0;
                    }
                    
                 }
                 if(pojedeno>0)
                {
                    Console.WriteLine(pojedeno);
                }
                 else
                    Console.WriteLine(prenosi);
            }
                
        }