import java.util.*;
import java.io.*;
import java.text.DecimalFormat;

public class Main {
    static double binpow(double a, long b) {
        if (b == 0) return 1.0;
        double res = binpow(a, b / 2);
        res = res * res;
        if (b % 2 == 1) res = res * a;
        return res;
    }

    static class Pair {
        long first;
        long second;

        public Pair(long first, long second) {
            this.first = first;
            this.second = second;
        }
    }

    static class Query {
        long x;
        int index;

        public Query(long x, int index) {
            this.x = x;
            this.index = index;
        }
    }

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        int m = input.nextInt();
        double r = input.nextDouble();
        ArrayList<Pair> ws = new ArrayList<Pair>();
        for (int i = 0; i < n; i++) {
            long u = input.nextLong();
            long v = input.nextLong();
            ws.add(new Pair(u, v));
        }
        Collections.sort(ws, (a, b) -> Long.compare(a.first, b.first));
        ArrayList<Query> qs = new ArrayList<Query>();
        for (int i = 0; i < m; i++) {
            long x = input.nextLong();
            qs.add(new Query(x, i));
        }
        Collections.sort(qs, (a, b) -> Long.compare(a.x, b.x);
        ArrayList<Pair> ans = new ArrayList<Pair>();
        long cd = 0;
        int cws = 0;
        double cx = 0;
        for (int i = 0; i < m; i++) {
            long rd = qs.get(i).x;
            while (cws < n && ws.get(cws).first <= rd) {
                long ecc = ws.get(cws).first - cd;
                cx *= binpow((1.0 - r), ecc);
                cx += (double) ws.get(cws).second * r;
                cd = ws.get(cws).first;
                cws++;
            }
            long ecc = rd - cd;
            cx *= binpow((1.0 - r), ecc);
            cd = rd;
            ans.add(new Pair(qs.get(i).index, cx));
        }
        ans.sort((a, b) -> Long.compare(a.first, b.first));
        DecimalFormat df = new DecimalFormat("0.000000");
        for (Pair ch : ans) {
            System.out.print(df.format(ch.second) + " ");
        }
        System.out.println();
    }
}
