#include<iostream>
using namespace std;
long long a[200000],b[200000],p[200000],n,T,k;
int main(){
	cin>>n>>T>>k;
	for(int i=1;i<=n;i++)cin>>a[i]>>b[i];
	long long L=1LL<<62,M=0;
	for(int i=n;i>=1;i--){
		if(b[i]==2){L=a[i];M=0;}
		if(b[i]==1 && M==0){L=(a[i]+L)/2;p[i]=L;M++;}
		if(b[i]==1 && M==1){p[i]=L;}
	}
	L=-1LL<<62;
	for(int i=1;i<=n;i++){
		if(b[i]==1)L=p[i];
		if(b[i]==2)p[i]=L;
	}
	for(int i=0;i<k;i++){
		int r;cin>>r;
		if(b[r]==1){
			if((p[r]-a[r])>=T)cout<<a[r]+T<<endl;
			else cout<<p[r]<<endl;
		}
		if(b[r]==2){
			if((a[r]-p[r])>=T)cout<<a[r]-T<<endl;
			else cout<<p[r]<<endl;
		}
	}
	return 0;
}