using namespace std;
#include <iostream>

const int Maksimalno = 300000;


long long dan_kupovine[Maksimalno];

long long koliko_kutija[Maksimalno];

long long zbir_pakovanja[Maksimalno];



int main() {

		
	ios::sync_with_stdio(false);

	cin.tie(nullptr);


	long long Kada_je_kupio, do_kad_jede;

	cin >> Kada_je_kupio >> do_kad_jede;

	


	long i;
	long long dana_jede[Maksimalno];

	for (i = 0; i < Kada_je_kupio; i++) {


		cin >> dan_kupovine[i] >> koliko_kutija[i];

	}

	for (i = 0; i < do_kad_jede; i++) {


		cin >> dana_jede[i];

	}


	
	long long broj_pakovanja[Maksimalno] = { 0 };

	for (long i = 0; i < Maksimalno; i++) {


		broj_pakovanja[i] = 0; 


	}



	for (long i = 0; i < Kada_je_kupio; i++) {

		broj_pakovanja[dan_kupovine[i] - 1] += koliko_kutija[i];


	}


	for (long i = 1; i < Maksimalno; i++) {


		broj_pakovanja[i] += broj_pakovanja[i - 1];


	}


	long long ukupno_pojela = 0;
	
	long long ukupno_pojela_dnevno[Maksimalno] = { 0 };



	for (long i = 0; i < do_kad_jede; i++) {


		long long dan = dana_jede[i];


		if (broj_pakovanja[dan - 1] > ukupno_pojela) {


			ukupno_pojela++;


		}

			
		ukupno_pojela_dnevno[i] = ukupno_pojela;


	}

		for (long i = 0; i < do_kad_jede; i++) {


			cout << ukupno_pojela_dnevno[i] << '\n';


		}

	return 0;

}