#include<bits\stdc++.h>
#define ll long long
#define ls u << 1
#define rs u << 1 | 1
#define sz(x) (int) x.size()
#define pb push_back
#define ld long double
using namespace std;
const int N = 2e5 + 15;
const ld inf = 1e18;
int n, m;
ld r;
pair<int, ld> a[N];
ld ans[N];
ld bp(ld x, int y) {
	ld res = 1.00000;
	while(y > 0) {
		if(y & 1) {
			res = res * x;
		}
		x = x * x;
		y /= 2;
	}
	return res;
}
int main() { 
  	ios_base::sync_with_stdio(0);
  	cin.tie(0);
  	cout << fixed << setprecision(10);
  	cin >> n >> m;
  	cin >> r;
  	for(int i = 1; i <= n; i++) {
  		cin >> a[i].first >> a[i].second;
	}
	sort(a + 1, a + n + 1);
	a[0].first = 1;
	for(int i = 1; i <= n; i++) {
		ans[i] = ans[i - 1] * bp(1 - r, a[i].first - a[i - 1].first) + r * a[i].second; 
	}
	while(m--) {
		int x;
		cin >> x;
		int p = lower_bound(a + 1, a + n + 1, make_pair(x + 1, (ld) -inf)) - a - 1;
		//cout << "F " << p << '\n';
		ld res;
		if(x > a[p].first) res = ans[p] * bp(1 - r, x - a[p].first);
		else res = ans[p];
		cout << res << ' ';
	}
}
