
# include <bits/stdc++.h>

# define pb push_back
# define ff first
# define ss second
# define nl "\n"
# define sz(x) ((int)(x).size())
# define all(x) (x).begin(), (x).end()
# define deb(x) cerr << #x  << " = " << x << endl; 
# define pll pair <ll, ll>
# define pii pair <int, int>
 
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
 
const ll maxn = 2e5 + 7;
const ll inf = 2e18 + 0;
const ll mod = 1e9 + 7;
const ll dx[] = {-1, 1, 0, 0};
const ll dy[] = {0, 0, -1, 1};

using namespace std;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());


pair<ll,ld> p[maxn];
pair<ll,ll> q[maxn];
ld ans[maxn];
ld bp(ld a , ll b){
  if(b == 0) return (a > 0.0000001);
  if(b % 2) return bp(a,b-1)*a;
  ld c = bp(a,b/2);
  return c*c;
}

void ma1n () {
    ll n , m;
    cin >> n >> m;
    ld r;
    cin >> r;
    for(int i = 1; i <= n; i++) cin >> p[i].ff >> p[i].ss;
    sort(p+1,p+1+n);
    for(int i = 1; i <= m; i++){
      cin >> q[i].ff;
      q[i].ss = i;
    }
    sort(q+1,q+1+m);
    ld res = 0;
    ld last = 1;
    for(int i = 1 , j = 1 ; i <= m; i++){
      while(j <= n && p[j].ff <= q[i].ff){
      ld ras = p[j].ff-last;
      res *= bp(1-r,ras); 
      res += r*p[j].ss;       
      last = p[j].ff;
      j++;
      }
      ld ras = q[i].ff-last;
      ans[q[i].ss] = res*bp(1-r,ras);
    }
    for(int i = 1; i <= m; i++){
      cout << fixed << setprecision(8) << ans[i] << " ";
    }
}
 
signed main() {
    ios::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
//  freopen("file.in", "r", stdin);
//  freopen("file.out", "w", stdout);
    int ttt = 1;
//  cin >> ttt;
    for (int test = 1; test <= ttt; ++test) {
//      cout << "Case " << test << ":" << '\n';
        ma1n();
    }
    return 0;
}
