using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        string[] prviRed = Console.ReadLine().Split();
        int N = int.Parse(prviRed[0]);
        int Q = int.Parse(prviRed[1]);

        List<long> dani = new List<long>();
        List<long> kolicine = new List<long>();

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

        long[] pitanja = new long[Q];
        for (int i = 0; i < Q; i++)
        {
            pitanja[i] = long.Parse(Console.ReadLine());
        }

        long[] prefiksSuma = new long[N];
        prefiksSuma[0] = kolicine[0];
        for (int i = 1; i < N; i++)
        {
            prefiksSuma[i] = prefiksSuma[i - 1] + kolicine[i];
        }

        int indeks = 0;
        long pojedenoDoSada = 0;

        foreach (long k in pitanja)
        {
            while (indeks < N && dani[indeks] <= k)
            {
                pojedenoDoSada += Math.Min(dani[indeks] - (indeks == 0 ? 1 : dani[indeks - 1]), kolicine[indeks]);
                indeks++;
            }

            Console.WriteLine(pojedenoDoSada);
        }
    }
}