#include <iostream>
#include <vector>
#include <algorithm>
#include <iomanip>
#define int long long
using namespace std;
long double fp(long double ch, int st)
{
    if(st==0)
        return 1;
if(st==1)
    return ch;
if(st%2==0)
{
    long double a=fp(ch,st/2);
    return a*a;
}
else
    return fp(ch,st-1)*ch;
}
main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n,m;
    cin>>n>>m;
    vector<pair<int,int>>v;
    long double r;
    cin>>r;
    int d,k;
    for(int i=0; i<n; i++)
    {
      cin>>d>>k;
      v.push_back({d,k});

    }
    for(int i=0; i<m; i++)
    {cin>>d;v.push_back({d,1e9+7});}

    sort(v.begin(),v.end());
    long double otv=0;
    if(v[0].second==1e9+7)
        cout<<"0 ";
    else otv+=r*v[0].second;
    for(int i=1; i<v.size(); i++)
    {
        if(v[i].first-v[i-1].first>0)
        {
            long double ch=fp((long double)1-r,v[i].first-v[i-1].first );
      otv*=ch;
      if(otv<0.0000001)
        otv=0;
        }

         if(v[i].second==1e9+7)
            cout<<fixed<< setprecision(10)<< otv<<" ";
         else otv+=v[i].second*r;
    }
}
