#include <bits/stdc++.h>

using namespace std;

double binpow(double val, int x) {
 double res = 1;
 while (x) {
  if (x%2)
   res = res * val;
  val = val * val;
  x /= 2;
 }
 return res;
}
int n, m, d, w, q;
map <int, int>  f, ew;
vector <int> v;
double r;

int main(){
 cin >> n >> m;

 cin >> r;
 for (int i = 1; i <= n; i++) {
  cin >> d >> w;
  v.push_back(d);
  f[d] = w;
 }

 for (int i = 1; i <= m; i++) {
  cin >> q;
  ew[q] = -1;
  if (f.count(q)==0) v.push_back(q);
 }

 v.push_back(0);
 sort(v.begin(), v.end());

 double cur = 0;
 for (int i = 1; i < v.size(); i++) {
   int x = v[i];
  int days = 0;
  days = v[i] - v[i - 1];


  cur *= binpow(1 - r, days);
  cur += f[v[i]] * r;
  if (ew.count(v[i])) printf("%.8lf ", cur);
 }
}
