/******************************************************************************

                              Online C++ Compiler.
               Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.

*******************************************************************************/

#include <iostream>
using namespace std;
int main()
{
    int brojKupovina;
    int brojPitanja;
    
    int dan[300000];
    int kolicina[300000];
    
    int pitanja[300000];
    
    long int trenutnaKolicina;
    long int pojedeno = 0;
    
    cin >> brojKupovina >> brojPitanja;
    
    for(int i = 0; i < brojKupovina; i++)
    {
        cin >> dan[i] >> kolicina[i];
    }
    dan[brojKupovina] = 2147483647;
    
    for(int i = 0; i < brojPitanja; i++)
    {
        cin >> pitanja[i];
    }
    pitanja[brojPitanja] = 2147483647;
    
    int prviSledeciDan = 0;
    int prvoSledecePitanje = 0;
    
    int kraj = dan[brojKupovina - 1] > pitanja[brojPitanja - 1] ? dan[brojKupovina - 1] : pitanja[brojPitanja - 1];
    int trenutniDan = 0;
    int skok;
    int sledeciMomenat;
    
    while(trenutniDan < kraj)
    {
        sledeciMomenat = dan[prviSledeciDan];
        if(sledeciMomenat > pitanja[prvoSledecePitanje])
        {
            sledeciMomenat = pitanja[prvoSledecePitanje];
        }
        
        skok = sledeciMomenat - trenutniDan;
        trenutniDan = sledeciMomenat;
        
        if(trenutnaKolicina > skok)
        {
            pojedeno += skok;
            trenutnaKolicina -= skok;
        }
        if(trenutnaKolicina <= skok)
        {
            pojedeno += trenutnaKolicina;
            trenutnaKolicina = 0;
        }
        if(dan[prviSledeciDan] == trenutniDan)
        {
            trenutnaKolicina += kolicina[prviSledeciDan];
            prviSledeciDan++;
        }
        if(pitanja[prvoSledecePitanje] == trenutniDan){
            prvoSledecePitanje++;
            if(trenutnaKolicina > 0)
            {
                cout << pojedeno + 1 << endl;
            }
            else
            {
                cout << pojedeno << endl;
            }
        }
        
        /*
        
        trenutniDan++;
        if(dan[prviSledeciDan] == trenutniDan)
        {
            trenutnaKolicina += kolicina[prviSledeciDan];
            prviSledeciDan++;
        }
        if(trenutnaKolicina > 0)
        {
            pojedeno++;
            trenutnaKolicina--;
        }
        if(pitanja[prvoSledecePitanje] == trenutniDan)
        {
            prvoSledecePitanje++;
            cout << pojedeno;
        }
        */
    }
    
    /*
    for(int i = 0; i < kraj + 1; i++)
    {
        if(dan[prviSledeciDan] == i)
        {
            trenutnaKolicina += kolicina[prviSledeciDan];
            prviSledeciDan++;
        }
        if(trenutnaKolicina > 0)
        {
            pojedeno++;
            trenutnaKolicina--;
        }
        if(pitanja[prvoSledecePitanje] == i)
        {
            prvoSledecePitanje++;
            cout << pojedeno;
        }
    }
    */
    

    return 0;
}