#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;
#define pb push_back
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define int long long
#define f first
#define s second
#define double long double
template<class T>bool umax(T &a,T b){if(a<b){a=b;return true;}return false;}
template<class T>bool umin(T &a,T b){if(b<a){a=b;return true;}return false;}
typedef tree<int, null_type, less_equal<int>, rb_tree_tag,
    tree_order_statistics_node_update> ordered_set;
const int mod= 1e9 +7;
const int N=1e5*4;
 
int binpow (int a, int n) {
    if (n == 0)
        return 1;
    if (n % 2 == 1)
        return binpow (a, n-1) * a;
    else {
        int b = binpow (a, n/2);
        return b * b;
    }
}
 
char a[12][12];
int vis[12][12];
 
void solve(){
     
    cout<<fixed<<setprecision(6);
    int n,m;
    cin>>n>>m;
    double k;
    cin>>k;
    vector<pair<double,double>> a;
    vector<double> b;
    for(int i = 0;i < n;i++){
        double d;
        double w;
        cin>>d>>w;
        a.pb({d,w});
        b.pb(d);
    }
    sort(all(a));
    sort(all(b));
    double ans[n + 1] {};
    for(int i = 0;i < n;i++){
        if(i == 0){
            ans[i ] = a[i].s * k;
        } else{
            ans[i] = (ans[i - 1]);
//          ans[i] *= (1 - k);
            ans[i] *= (  pow(1 - k,(a[i].f - a[i - 1].f )));
//          ans[i] *= (1 - k);
            ans[i] += a[i].s * k;
        }
    }
    for(int i = 0;i < m;i++){
        int c;
        cin>>c;
        int h = upper_bound(all(b),c) - b.begin();
        if(h == n){
            h--;
        }
        if(b[h] > c){
            h--;
        }
        if(h == -1){
            cout<<0<<" ";
        } else{
            if(b[h] == c){
                cout<<ans[h]<<" ";
            } else
                cout<<(ans[h] * ( pow(1 - k,(c - b[h]))))<<" ";
        }
    }
 
 
}
 
 signed main()
{
//  freopen("seq.in", "r", stdin);
//  freopen("seq.out", "w", stdout);
    ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL);
    int cnt=0;
    int tt=1;
//  cin>>tt;
    while(tt--)solve();
 
}