#include <bits/stdc++.h>
#define ll long long
#define pii pair<int,int>
#define F first
#define S second
#define pb push_back
using namespace std;
const int N = 2e5 + 5;
const int MN = 1e9 + 10;
int q[N],cc;
double r,cnt;
int mx,c;
pair <double,double>a[N];
int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	int n,m;
	cin>>n>>m;
	cin>>r;
	for(int i = 1;i<=n;i++){
		double t,y;
		cin>>t>>y;
		a[i].F = t;
		a[i].S = y;
	}
	sort(a+1,a+n+1);
	for(int i = 1;i<=m;i++){
		cin>>q[i];
		mx = max(q[i],mx);
	}
	c = 1;
	cout<<fixed<<setprecision(10);
	cc = 1;
	for(int i = 1;i<=mx;i++){
		if(a[c].F==i){
			cnt = cnt*(1-r);
			cnt = cnt + a[c].S*r;
			//cout<<a[c].S<<" "<<r<<" "<<a[c].S*r<<"\n";
			c++;
		}else{
			cnt = cnt*(1-r);
		}
		//cout<<i<<" "<<a[c].F<<" "<<a[c].S<<" "<<1-r<<"\n";
		if(q[cc]==i){
			cout<<cnt<<" ";
			cc++;
		}
	}
	return 0;
}
/*
pair <int,int> a[N];
a[i].first,a[i].second;
srand(time(0));
    char c = 'A' + (rand() % 24);
    cout << c;
int to string
	int number = i;
		ostringstream convert;
		convert << number;
		string str = convert.str();
string to int

string str = "42";
    int number = atoi(str.c_str());
    cout << number << endl;

    string floatStr = "3.14";
    float floatValue = atof(floatStr.c_str());
    cout << floatValue << endl;

for(set<int>::iterator it=s.begin(); it!=s.end(); it++){
cout<<*it<<" ";
cout<<it->first<<" "<<it->second;
}

map
cin>>s>>ss;
s.insert(make_pair(s,ss));

sort
	.
	.
   . .
    .
bool cmp(pii a,pii b){
	if (a.F == b.F){
		return a.S < b.S;
	}
//	if (a.F > b.F) return 1;
//	else return 0;
	return a.F > b.F;
}

map<ll, ll> factors;

		    for (int i = 2; i <= sqrt(n); i++) {
		        while (n % i == 0) {
		            factors[i]++;
		            n /= i;
		        }
		    }

		    if (n != 1) {
		        factors[n]++;
		    }

		    for(auto now : factors){
		    	cout<<now.F<<"^"<<now.S<<" ";

			}



			ll binpow(ll a, ll b){
	a %= mod;
	if(b == 0){
		return 1;
	}
	if(b % 2 == 1){
		return binpow (a, b - 1) % mod * a;
	}
	if(b % 2 == 0){
		ll t = binpow (a, b / 2) % mod;
		return t * t % mod;
	}
}
	*/
