#include <bits/stdc++.h>

using namespace std;

#define ll long long

ll n, m, k;
ll l[123456];

long double rr;
long double ans[123456];

pair < ll, ll > a[123456], b[123456];

long double binpow(long double a, int b) {
	long double res = 1;
	while(b) {
		if (b % 2 != 0) {
			res *= a;
			b--;
		}
		a *= a;
		b /= 2;
	}
	return res;
}

void solve(){
	cin >> n >> m >> rr;
	for(int i = 1; i <= n; i++){
		cin >> a[i].first >> a[i].second;
	}
	sort(a + 1, a + n + 1);
	for(int i = 1; i <= m; i++){
		cin >> b[i].first;
		b[i].second = i;
	}
	sort(b + 1, b + m + 1);
	for (int i = 1; i <= n; i++) {
		int l = 0, r = m + 1;
		while(r - l > 1) {
			int md = (l + r) / 2;
			if (b[md].first >= a[i].first) {
				r = md;
			} else {
				l = md;
			}
		}
		int id = r;
		long double x = a[i].second * rr;
		if (a[i].first == b[id].first) {
			ans[b[id].second] += x;
			id++;
		}
		int d = a[i].second;
		for (int j = id; j <= m; j++) {
			long double y;
			y = x;
			x = x * binpow((1 - rr), b[j].first - a[i].first);
			// cout <<  << '\n';
			if (x < 0.00000001) {
				break;
			}
			d = b[j].first;
			ans[b[j].second] += x;
			x = y;
		}
	}
	for (int i = 1; i <= m; i++) {
		cout << ans[i] << " ";
	}
}

signed main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	solve();
	return 0;
}